Recreated ISAM2 project and fixed bug in gt.cmake
parent
6ead19648f
commit
2f1b176fe9
|
@ -107,9 +107,10 @@ function(GT_MAIN_SOURCES)
|
||||||
gt_main_sources_helper(${ARGN})
|
gt_main_sources_helper(${ARGN})
|
||||||
set(GT_COMMON_SOURCES "${GT_COMMON_SOURCES}" PARENT_SCOPE)
|
set(GT_COMMON_SOURCES "${GT_COMMON_SOURCES}" PARENT_SCOPE)
|
||||||
# Build a "convenience" static library
|
# Build a "convenience" static library
|
||||||
#add_library(${PROJECT_NAME}-static STATIC ${GT_COMMON_SOURCES})
|
message(STATUS "[gt.cmake] Adding convenience library \"${PROJECT_NAME}\" with sources ${GT_COMMON_SOURCES}")
|
||||||
#SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES OUTPUT_NAME "${PROJECT_NAME}")
|
add_library(${PROJECT_NAME}-static STATIC ${GT_COMMON_SOURCES})
|
||||||
#SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES OUTPUT_NAME "${PROJECT_NAME}")
|
||||||
|
SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
||||||
endfunction(GT_MAIN_SOURCES)
|
endfunction(GT_MAIN_SOURCES)
|
||||||
function(GT_MAIN_SOURCES_HELPER)
|
function(GT_MAIN_SOURCES_HELPER)
|
||||||
set(GT_COMMON_SOURCES "")
|
set(GT_COMMON_SOURCES "")
|
||||||
|
@ -143,15 +144,15 @@ endfunction(GT_INSTALL_HEADERS)
|
||||||
|
|
||||||
# Define the main shared+static library from the given sources
|
# Define the main shared+static library from the given sources
|
||||||
function(GT_MAIN_LIB)
|
function(GT_MAIN_LIB)
|
||||||
gt_main_sources(${ARGN})
|
gt_main_sources_helper(${ARGN})
|
||||||
set(GT_COMMON_SOURCES "${GT_COMMON_SOURCES}" PARENT_SCOPE)
|
set(GT_COMMON_SOURCES "${GT_COMMON_SOURCES}" PARENT_SCOPE)
|
||||||
message(STATUS "[gt.cmake] Adding main lib \"${PROJECT_NAME}\" with sources ${GT_COMMON_SOURCES}")
|
message(STATUS "[gt.cmake] Adding main lib \"${PROJECT_NAME}\" with sources ${GT_COMMON_SOURCES}")
|
||||||
add_library(${PROJECT_NAME} SHARED ${GT_COMMON_SOURCES})
|
add_library(${PROJECT_NAME}-shared SHARED ${GT_COMMON_SOURCES})
|
||||||
#add_library(${PROJECT_NAME}-static STATIC ${GT_COMMON_SOURCES})
|
#add_library(${PROJECT_NAME}-static STATIC ${GT_COMMON_SOURCES})
|
||||||
#SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES OUTPUT_NAME "${PROJECT_NAME}")
|
SET_TARGET_PROPERTIES(${PROJECT_NAME}-shared PROPERTIES OUTPUT_NAME "${PROJECT_NAME}")
|
||||||
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
SET_TARGET_PROPERTIES(${PROJECT_NAME}-shared PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
||||||
#SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
#SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
||||||
install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION "lib" ARCHIVE DESTINATION "lib")
|
install(TARGETS ${PROJECT_NAME}-shared LIBRARY DESTINATION "lib" ARCHIVE DESTINATION "lib")
|
||||||
endfunction(GT_MAIN_LIB)
|
endfunction(GT_MAIN_LIB)
|
||||||
|
|
||||||
# Define the main static library from the given sources
|
# Define the main static library from the given sources
|
||||||
|
@ -159,22 +160,32 @@ function(GT_MAIN_STLIB)
|
||||||
gt_main_sources(${ARGN})
|
gt_main_sources(${ARGN})
|
||||||
set(GT_COMMON_SOURCES "${GT_COMMON_SOURCES}" PARENT_SCOPE)
|
set(GT_COMMON_SOURCES "${GT_COMMON_SOURCES}" PARENT_SCOPE)
|
||||||
message(STATUS "[gt.cmake] Adding main stlib \"${PROJECT_NAME}\" with sources ${GT_COMMON_SOURCES}")
|
message(STATUS "[gt.cmake] Adding main stlib \"${PROJECT_NAME}\" with sources ${GT_COMMON_SOURCES}")
|
||||||
add_library(${PROJECT_NAME}-static STATIC ${GT_COMMON_SOURCES})
|
#add_library(${PROJECT_NAME}-static STATIC ${GT_COMMON_SOURCES})
|
||||||
SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES OUTPUT_NAME "${PROJECT_NAME}")
|
#SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES OUTPUT_NAME "${PROJECT_NAME}")
|
||||||
SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
#SET_TARGET_PROPERTIES(${PROJECT_NAME}-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
||||||
#add_library(${PROJECT_NAME} STATIC ${GT_COMMON_SOURCES})
|
#add_library(${PROJECT_NAME} STATIC ${GT_COMMON_SOURCES})
|
||||||
install(TARGETS ${PROJECT_NAME}-static ARCHIVE DESTINATION "lib")
|
install(TARGETS ${PROJECT_NAME}-static ARCHIVE DESTINATION "lib")
|
||||||
endfunction(GT_MAIN_STLIB)
|
endfunction(GT_MAIN_STLIB)
|
||||||
|
|
||||||
# Set the build version for the main library
|
# Set the build version for the main library
|
||||||
function(GT_MAIN_VERSION version)
|
function(GT_MAIN_VERSION version)
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES VERSION "${version}")
|
if(TARGET ${PROJECT_NAME}-shared)
|
||||||
endfunction(GT_MAIN_VERSION)
|
set_target_properties(${PROJECT_NAME}-shared PROPERTIES VERSION "${version}")
|
||||||
|
endif()
|
||||||
|
if(TARGET ${PROJECT_NAME}-static)
|
||||||
|
set_target_properties(${PROJECT_NAME}-static PROPERTIES VERSION "${version}")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
# Set the API version for the main library
|
# Set the API version for the main library
|
||||||
function(GT_MAIN_SOVERSION soversion)
|
function(GT_MAIN_SOVERSION soversion)
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION "${soversion}")
|
if(TARGET ${PROJECT_NAME}-shared)
|
||||||
endfunction(GT_MAIN_SOVERSION)
|
set_target_properties(${PROJECT_NAME}-shared PROPERTIES SOVERSION "${soversion}")
|
||||||
|
endif()
|
||||||
|
if(TARGET ${PROJECT_NAME}-static)
|
||||||
|
set_target_properties(${PROJECT_NAME}-static PROPERTIES SOVERSION "${soversion}")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
# Define the main executable from the given sources
|
# Define the main executable from the given sources
|
||||||
#function(GT_MAIN_EXE)
|
#function(GT_MAIN_EXE)
|
||||||
|
@ -198,7 +209,13 @@ function(GT_AUTO_EXES)
|
||||||
gt_get_stem(exe ${src})
|
gt_get_stem(exe ${src})
|
||||||
message(STATUS "[gt.cmake] Adding auto exe \"${exe}\" from ${src}")
|
message(STATUS "[gt.cmake] Adding auto exe \"${exe}\" from ${src}")
|
||||||
add_executable(${exe} ${src})
|
add_executable(${exe} ${src})
|
||||||
target_link_libraries(${exe} ${PROJECT_NAME})
|
if(TARGET ${PROJECT_NAME}-shared)
|
||||||
|
target_link_libraries(${exe} ${PROJECT_NAME}-shared)
|
||||||
|
elseif(TARGET ${PROJECT_NAME}-static)
|
||||||
|
target_link_libraries(${exe} ${PROJECT_NAME}-static)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "[gt.cmake] No common source files specified yet!")
|
||||||
|
endif()
|
||||||
endforeach(src ${srcs})
|
endforeach(src ${srcs})
|
||||||
endforeach(srcpat ${ARGN})
|
endforeach(srcpat ${ARGN})
|
||||||
endfunction(GT_AUTO_EXES)
|
endfunction(GT_AUTO_EXES)
|
||||||
|
@ -212,7 +229,13 @@ function(GT_AUTO_INSTALLED_EXES)
|
||||||
gt_get_stem(exe ${src})
|
gt_get_stem(exe ${src})
|
||||||
message(STATUS "[gt.cmake] Adding auto installed exe \"${exe}\" from ${src}")
|
message(STATUS "[gt.cmake] Adding auto installed exe \"${exe}\" from ${src}")
|
||||||
add_executable(${exe} ${src})
|
add_executable(${exe} ${src})
|
||||||
target_link_libraries(${exe} ${PROJECT_NAME})
|
if(TARGET ${PROJECT_NAME}-shared)
|
||||||
|
target_link_libraries(${exe} ${PROJECT_NAME}-shared)
|
||||||
|
elseif(TARGET ${PROJECT_NAME}-static)
|
||||||
|
target_link_libraries(${exe} ${PROJECT_NAME}-static)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "[gt.cmake] No common source files specified yet!")
|
||||||
|
endif()
|
||||||
install(TARGETS ${exe} RUNTIME DESTINATION "bin")
|
install(TARGETS ${exe} RUNTIME DESTINATION "bin")
|
||||||
endforeach(src ${srcs})
|
endforeach(src ${srcs})
|
||||||
endforeach(srcpat ${ARGN})
|
endforeach(srcpat ${ARGN})
|
||||||
|
@ -237,7 +260,13 @@ function(GT_AUTO_TESTS)
|
||||||
message(STATUS "[gt.cmake] Adding test \"${exe}\" from ${src}")
|
message(STATUS "[gt.cmake] Adding test \"${exe}\" from ${src}")
|
||||||
add_executable(${exe} ${src})
|
add_executable(${exe} ${src})
|
||||||
target_link_libraries(${exe} "CppUnitLite")
|
target_link_libraries(${exe} "CppUnitLite")
|
||||||
target_link_libraries(${exe} ${PROJECT_NAME})
|
if(TARGET ${PROJECT_NAME}-shared)
|
||||||
|
target_link_libraries(${exe} ${PROJECT_NAME}-shared)
|
||||||
|
elseif(TARGET ${PROJECT_NAME}-static)
|
||||||
|
target_link_libraries(${exe} ${PROJECT_NAME}-static)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "[gt.cmake] No common source files specified yet!")
|
||||||
|
endif()
|
||||||
add_test(${exe} ${exe})
|
add_test(${exe} ${exe})
|
||||||
endforeach(src ${srcs})
|
endforeach(src ${srcs})
|
||||||
endforeach(srcpat ${ARGN})
|
endforeach(srcpat ${ARGN})
|
||||||
|
|
Loading…
Reference in New Issue