-
Notifications
You must be signed in to change notification settings - Fork 2
/
CMakeLists.txt
executable file
·113 lines (85 loc) · 5.23 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
cmake_minimum_required(VERSION 3.12...3.20)
project(llsm-pipeline VERSION 0.1 DESCRIPTION "Process lattice lightsheet images." LANGUAGES CXX)
######### Pre-Setup #########
# ITK wants us to use include before declaing any targets.
# Ref bottom of https://itk.org/Wiki/ITK/FAQ#NoFactoryException
find_package(ITK CONFIG REQUIRED ITKCommon ITKIOImageBase ITKIOTIFF ITKImageGrid ITKTransform ITKImageFunction ITKConvolution)
include(${ITK_USE_FILE})
######### Targets #########
add_executable(crop src/c/crop/crop.cpp)
add_executable(deskew src/c/deskew/deskew.cpp)
# add_executable(deskew-test src/c/tests/deskew-test.cpp)
add_executable(decon src/c/decon/decon.cpp)
# add_executable(decon-test src/c/tests/decon-test.cpp)
add_executable(mip src/c/mip/mip.cpp)
# add_executable(mip-test src/c/tests/mip-test.cpp)
# add_executable(reader-test src/c/tests/reader-test.cpp)
# add_executable(writer-test src/c/tests/writer-test.cpp)
# add_executable(resampler-test src/c/tests/resampler-test.cpp)
set_property(TARGET crop PROPERTY CXX_STANDARD 17)
set_property(TARGET deskew PROPERTY CXX_STANDARD 17)
# set_property(TARGET deskew-test PROPERTY CXX_STANDARD 17)
set_property(TARGET decon PROPERTY CXX_STANDARD 17)
# set_property(TARGET decon-test PROPERTY CXX_STANDARD 17)
set_property(TARGET mip PROPERTY CXX_STANDARD 17)
# set_property(TARGET mip-test PROPERTY CXX_STANDARD 17)
# set_property(TARGET reader-test PROPERTY CXX_STANDARD 17)
# set_property(TARGET writer-test PROPERTY CXX_STANDARD 17)
# set_property(TARGET resampler-test PROPERTY CXX_STANDARD 17)
######### Set Pre-package Variables #########
set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
######### Add Packages #########
find_package(Boost 1.50 REQUIRED COMPONENTS filesystem program_options)
######### Includes #########
target_include_directories(crop PRIVATE ${PROJECT_SOURCE_DIR}/src/c/crop)
target_include_directories(crop PRIVATE ${PROJECT_SOURCE_DIR}/src/c/utils)
target_include_directories(deskew PRIVATE ${PROJECT_SOURCE_DIR}/src/c/deskew)
target_include_directories(deskew PRIVATE ${PROJECT_SOURCE_DIR}/src/c/utils)
# target_include_directories(deskew-test PRIVATE ${PROJECT_SOURCE_DIR}/src/c/deskew)
# target_include_directories(deskew-test PRIVATE ${PROJECT_SOURCE_DIR}/src/c/utils)
target_include_directories(decon PRIVATE ${PROJECT_SOURCE_DIR}/src/c/decon)
target_include_directories(decon PRIVATE ${PROJECT_SOURCE_DIR}/src/c/utils)
# target_include_directories(decon-test PRIVATE ${PROJECT_SOURCE_DIR}/src/c/decon)
# target_include_directories(decon-test PRIVATE ${PROJECT_SOURCE_DIR}/src/c/utils)
target_include_directories(mip PRIVATE ${PROJECT_SOURCE_DIR}/src/c/mip)
target_include_directories(mip PRIVATE ${PROJECT_SOURCE_DIR}/src/c/utils)
# target_include_directories(mip-test PRIVATE ${PROJECT_SOURCE_DIR}/src/c/mip)
# target_include_directories(mip-test PRIVATE ${PROJECT_SOURCE_DIR}/src/c/utils)
# target_include_directories(reader-test PRIVATE ${PROJECT_SOURCE_DIR}/src/c/utils)
# target_include_directories(writer-test PRIVATE ${PROJECT_SOURCE_DIR}/src/c/utils)
# target_include_directories(resampler-test PRIVATE ${PROJECT_SOURCE_DIR}/src/c/utils)
######### Libraries #########
target_link_libraries(crop PRIVATE Boost::filesystem)
target_link_libraries(crop PRIVATE Boost::program_options)
target_link_libraries(crop PRIVATE ${ITK_LIBRARIES})
target_link_libraries(deskew PRIVATE Boost::filesystem)
target_link_libraries(deskew PRIVATE Boost::program_options)
target_link_libraries(deskew PRIVATE ${ITK_LIBRARIES})
# target_link_libraries(deskew-test PRIVATE Boost::filesystem)
# target_link_libraries(deskew-test PRIVATE Boost::program_options)
# target_link_libraries(deskew-test PRIVATE ${ITK_LIBRARIES})
target_link_libraries(decon PRIVATE Boost::filesystem)
target_link_libraries(decon PRIVATE Boost::program_options)
target_link_libraries(decon PRIVATE ${ITK_LIBRARIES})
# target_link_libraries(decon-test PRIVATE Boost::filesystem)
# target_link_libraries(decon-test PRIVATE Boost::program_options)
# target_link_libraries(decon-test PRIVATE ${ITK_LIBRARIES})
target_link_libraries(mip PRIVATE Boost::filesystem)
target_link_libraries(mip PRIVATE Boost::program_options)
target_link_libraries(mip PRIVATE ${ITK_LIBRARIES})
# target_link_libraries(mip-test PRIVATE Boost::filesystem)
# target_link_libraries(mip-test PRIVATE Boost::program_options)
# target_link_libraries(mip-test PRIVATE ${ITK_LIBRARIES})
# target_link_libraries(reader-test PRIVATE Boost::filesystem)
# target_link_libraries(reader-test PRIVATE ${ITK_LIBRARIES})
# target_link_libraries(writer-test PRIVATE Boost::filesystem)
# target_link_libraries(writer-test PRIVATE ${ITK_LIBRARIES})
# target_link_libraries(resampler-test PRIVATE Boost::filesystem)
# target_link_libraries(resampler-test PRIVATE ${ITK_LIBRARIES})
######### Installs #########
# install(TARGETS deskew deskew-test decon decon-test mip mip-test reader-test writer-test resampler-test CONFIGURATIONS Release DESTINATION ${PROJECT_SOURCE_DIR}/bin)
install(TARGETS crop deskew decon mip CONFIGURATIONS Release DESTINATION ${PROJECT_SOURCE_DIR}/bin)
file(COPY ${PROJECT_SOURCE_DIR}/src/python/llsm-pipeline.py DESTINATION ${PROJECT_SOURCE_DIR}/bin)
file(COPY ${PROJECT_SOURCE_DIR}/src/python/settings2json.py DESTINATION ${PROJECT_SOURCE_DIR}/bin)