From e4fb46b4d3855122d8734d6c84ef25a0463d903f Mon Sep 17 00:00:00 2001 From: Yann MAGNIN Date: Sat, 10 Dec 2022 13:33:38 +0100 Subject: [PATCH] handle linker script flags + fix sources fetch + fetch asset' source files --- CMakeLists.txt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8829c08..a172e9b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,7 @@ OR NOT DEFINED ENV{VXSDK_PKG_VERSION} OR NOT DEFINED ENV{VXSDK_BUILD_CFLAGS} OR NOT DEFINED ENV{VXSDK_BUILD_LDFLAGS} OR NOT DEFINED ENV{VXSDK_BUILD_LIBS} +OR NOT DEFINED ENV{VXSDK_ASSETS_PREFIX_SRC} OR NOT DEFINED ENV{VXSDK_PREFIX_BUILD} OR NOT DEFINED ENV{VXSDK_PREFIX_INSTALL}) message(FATAL_ERROR "You should use the vxSDK to build this project") @@ -18,6 +19,7 @@ set(VXSDK_PREFIX_INSTALL $ENV{VXSDK_PREFIX_INSTALL}) set(VXSDK_BUILD_CFLAGS $ENV{VXSDK_BUILD_CFLAGS}) set(VXSDK_BUILD_LDFLAGS $ENV{VXSDK_BUILD_LDFLAGS}) set(VXSDK_BUILD_LIBS $ENV{VXSDK_BUILD_LIBS}) +set(VXSDK_ASSETS_PREFIX_SRC $ENV{VXSDK_ASSETS_PREFIX_SRC}) #--- # handle project-specific information @@ -30,15 +32,21 @@ project(${VXSDK_PKG_NAME} VERSION ${VXSDK_PKG_VERSION} LANGUAGES C ASM) # Handle source listing #--- -file(GLOB_RECURSE SOURCES src *.c *.S *.s) +file(GLOB_RECURSE SOURCES src/*.[csS] ${VXSDK_ASSETS_PREFIX_SRC}/*.[csS]) #--- # Compile-specific declaration #--- - link_directories(${VXSDK_PREFIX_INSTALL}/lib) include_directories(include ${VXSDK_PREFIX_INSTALL}/include) add_compile_options(-Wall -Wextra ${VXSDK_BUILD_CFLAGS}) add_executable(${VXSDK_PKG_NAME} ${SOURCES}) target_link_libraries(${VXSDK_PKG_NAME} ${VXSDK_BUILD_LIBS}) + +if (DEFINED ENV{VXSDK_LINKER_SCRIPT}) + set(ldscript $ENV{VXSDK_LINKER_SCRIPT}) + set( + CMAKE_EXE_LINKER_FLAGS + "${CMAKE_EXE_LINKER_FLAGS} -T ${VXSDK_PREFIX_INSTALL}/lib/${ldscript}") +endif()