1.99.9
This commit is contained in:
@ -4,8 +4,8 @@ include(GenerateExportHeader)
|
||||
|
||||
function(myx_add_library NAME)
|
||||
set(options)
|
||||
set(oneValueArgs PCH TYPE)
|
||||
set(multiValueArgs SOURCES LINK_LIBRARIES COMPILE_DEFINITIONS)
|
||||
set(oneValueArgs TYPE)
|
||||
set(multiValueArgs SOURCES)
|
||||
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
if(NOT arg_TYPE)
|
||||
@ -74,16 +74,4 @@ function(myx_add_library NAME)
|
||||
OUTPUT_NAME ${NAME})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(arg_PCH)
|
||||
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.16)
|
||||
target_precompile_headers(${NAME} PRIVATE ${PROJECT_SOURCE_DIR}/${arg_PCH})
|
||||
else()
|
||||
target_compile_options(${NAME} PRIVATE -include ${PROJECT_SOURCE_DIR}/${arg_PCH})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
target_sources(${NAME} PRIVATE ${arg_SOURCES} ${PROJECT_SOURCE_DIR}/${arg_PCH})
|
||||
target_compile_definitions(${NAME} PRIVATE ${arg_COMPILE_DEFINITIONS})
|
||||
target_link_libraries(${NAME} PRIVATE ${arg_LINK_LIBRARIES})
|
||||
endfunction()
|
||||
|
28
lib/TargetSetup.cmake
Normal file
28
lib/TargetSetup.cmake
Normal file
@ -0,0 +1,28 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
function(myx_target_setup NAME)
|
||||
set(options)
|
||||
set(oneValueArgs PCH)
|
||||
set(multiValueArgs COMPILE_DEFINITIONS FIND_PACKAGES LINK_LIBRARIES SOURCES)
|
||||
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
foreach(iter ${arg_FIND_PACKAGES})
|
||||
find_package(${iter} CONFIG REQUIRED)
|
||||
target_include_directories(${NAME} PRIVATE ${${iter}_INCLUDE_DIRS})
|
||||
target_compile_definitions(${NAME} PRIVATE ${${iter}_COMPILE_DEFINITIONS})
|
||||
endforeach()
|
||||
target_compile_definitions(${NAME} PRIVATE ${arg_COMPILE_DEFINITIONS})
|
||||
|
||||
if(arg_PCH)
|
||||
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.16)
|
||||
target_precompile_headers(${NAME} PRIVATE ${PROJECT_SOURCE_DIR}/${arg_PCH})
|
||||
else()
|
||||
target_compile_options(${NAME} PRIVATE -include ${PROJECT_SOURCE_DIR}/${arg_PCH})
|
||||
endif()
|
||||
target_sources(${NAME} PRIVATE ${PROJECT_SOURCE_DIR}/${arg_PCH})
|
||||
endif()
|
||||
|
||||
target_sources(${NAME} PRIVATE ${arg_SOURCES})
|
||||
target_link_libraries(${NAME} PRIVATE ${arg_LINK_LIBRARIES})
|
||||
target_compile_definitions(${NAME} PRIVATE ${arg_COMPILE_DEFINITIONS})
|
||||
endfunction()
|
Reference in New Issue
Block a user