1- cmake_minimum_required ( VERSION 3.2 FATAL_ERROR )
1+ cmake_minimum_required (VERSION 3.12 FATAL_ERROR)
2+ cmake_policy (VERSION 3.12)
3+
4+ project (NANCONVERT CXX)
5+ set (CMAKE_CXX_STANDARD 17)
6+ set (CMAKE_CXX_STANDARD_REQUIRED on )
27
3- project ( NANCONVERT CXX )
4- set ( CMAKE_CXX_STANDARD 17 )
5- set ( CMAKE_CXX_STANDARD_REQUIRED on )
6- add_compile_options ("-Wall" "-Wextra" "-Wshadow" "-ftemplate-backtrace-limit=30" )
7- aux_source_directory (. SRC_LIST )
8- include ( CheckCXXCompilerFlag )
9- include ( CMakeToolsHelpers OPTIONAL )
108set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR} /CMake)
119set (CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${PROJECT_SOURCE_DIR} /CMake)
12- include ( ${PROJECT_SOURCE_DIR} /CMake/BuildType.cmake )
13-
14- set ( External_Include_DIR "${PROJECT_SOURCE_DIR} /include"
15- CACHE PATH "Path to vendored includes (usually /include" )
16- include_directories ( SYSTEM ${External_Include_DIR} )
10+ include (CheckCXXCompilerFlag)
11+ include (CMakeToolsHelpers OPTIONAL )
12+ include (CMakePrintHelpers)
1713
18- # fmtlib: Sane output
19- find_package (fmtlib REQUIRED CONFIG)
20- if (fmtlib_FOUND)
21- add_library (fmtlib STATIC ${FMTLIB_SOURCES} )
22- target_include_directories (fmtlib SYSTEM PUBLIC ${FMTLIB_INCLUDE_DIR} )
14+ include (${PROJECT_SOURCE_DIR} /CMake/BuildType.cmake)
15+ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" )
16+ set (CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++" CACHE INTERNAL "" FORCE)
2317endif ()
18+ add_compile_options ("-Wall" "-Wextra" "-Wshadow" "-ftemplate-backtrace-limit=30" )
2419
20+ find_package (args CONFIG REQUIRED)
21+ find_package (fmt REQUIRED CONFIG)
2522find_package (ITK 5.0.0
2623 COMPONENTS
2724 ITKCommon
28- ITKIOGDCM
2925 ITKIOImageBase
26+ ITKIOGDCM
27+ ITKIONIFTI
3028 ITKImageCompose
3129 ITKImageGrid
32- ITKImageIO
33- REQUIRED )
34- include ( ${ITK_USE_FILE} )
30+ REQUIRED)
31+ include (${ITK_USE_FILE} )
3532
3633# Main Library
37- set ( SRC_DIR "${PROJECT_SOURCE_DIR} /Source" )
38- add_library ( Convert STATIC ${SRC_DIR} /IO.cpp ${SRC_DIR} /Util.cpp )
34+ set (SRC_DIR "${PROJECT_SOURCE_DIR} /Source" )
35+ add_library (Convert STATIC ${SRC_DIR} /IO.cpp ${SRC_DIR} /Util.cpp)
36+ target_link_libraries (Convert ${ITK_LIBRARIES} )
37+ cmake_print_variables(${ITK_LIBRARIES} )
3938
40- add_executable ( nanconvert_bruker ${SRC_DIR} /nanconvert_bruker.cpp )
41- target_link_libraries ( nanconvert_bruker Convert ${ITK_LIBRARIES} fmtlib )
42- install ( TARGETS nanconvert_bruker RUNTIME DESTINATION bin )
39+ add_executable (nanconvert_bruker ${SRC_DIR} /nanconvert_bruker.cpp)
40+ target_link_libraries (nanconvert_bruker
41+ Convert
42+ taywee::args
43+ fmt::fmt
44+ ${ITK_LIBRARIES}
45+ )
46+ install (TARGETS nanconvert_bruker RUNTIME DESTINATION bin)
4347
44- add_executable ( nanconvert_dicom ${SRC_DIR} /nanconvert_dicom.cpp )
45- target_link_libraries ( nanconvert_dicom Convert ${ITK_LIBRARIES} fmtlib )
46- install ( TARGETS nanconvert_dicom RUNTIME DESTINATION bin )
48+ add_executable (nanconvert_dicom ${SRC_DIR} /nanconvert_dicom.cpp)
49+ target_link_libraries (nanconvert_dicom
50+ Convert
51+ taywee::args
52+ fmt::fmt
53+ ${ITK_LIBRARIES}
54+ )
55+ install (TARGETS nanconvert_dicom RUNTIME DESTINATION bin)
4756
48- set ( SCRIPTS_DIR Scripts )
49- set ( SCRIPTS nanbruker nanbruker_sge.qsub nandicom )
50- foreach ( SCRIPT ${SCRIPTS} )
51- INSTALL ( FILES ${SCRIPTS_DIR} /${SCRIPT}
57+ set (SCRIPTS_DIR Scripts)
58+ set (SCRIPTS nanbruker nanbruker_sge.qsub nandicom)
59+ foreach (SCRIPT ${SCRIPTS} )
60+ INSTALL (FILES ${SCRIPTS_DIR} /${SCRIPT}
5261 DESTINATION bin
5362 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
5463 GROUP_READ GROUP_EXECUTE
55- WORLD_READ WORLD_EXECUTE )
56- endforeach ( SCRIPT )
64+ WORLD_READ WORLD_EXECUTE)
65+ endforeach (SCRIPT)
0 commit comments