Recreated ISAM2 project and fixed bug in gt.cmake

release/4.3a0
Richard Roberts 2009-12-08 17:23:06 +00:00
parent 6ead19648f
commit 2f1b176fe9
1 changed files with 47 additions and 18 deletions

View File

@ -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})