Skip to content

Commit 17369d2

Browse files
author
Tobias Wood
committed
BLD Switch to vcpkg
1 parent 49e8f5b commit 17369d2

File tree

20 files changed

+65
-12717
lines changed

20 files changed

+65
-12717
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "vcpkg"]
2+
path = vcpkg
3+
url = https://github.com/spinicist/vcpkg

CMakeLists.txt

Lines changed: 45 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,65 @@
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 )
108
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMake)
119
set(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)
2317
endif()
18+
add_compile_options("-Wall" "-Wextra" "-Wshadow" "-ftemplate-backtrace-limit=30")
2419

20+
find_package(args CONFIG REQUIRED)
21+
find_package(fmt REQUIRED CONFIG)
2522
find_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)

bootstrap.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash -eux
2+
vcpkg/bootstrap-vcpkg.sh -allowAppleClang -useSystemBinaries
3+
cmake -B build -S . \
4+
-DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake \
5+
-DVCPKG_TARGET_TRIPLET=x64-osx-asan -DCMAKE_BUILD_TYPE=Release \
6+
-GNinja
7+
cmake --build build

include/LICENSE

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)