@@ -3,12 +3,32 @@ cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
33project (TFM-Pvalue LANGUAGES CXX VERSION 1.00)
44set (CMAKE_CXX_STANDARD 11)
55
6- option (BUILD_TFMPVALUE_TEST "Run TFMPVALUE tests" ON )
6+ unset (DEBUG_TFMPVALUE CACHE )
7+ unset (BUILD_TFMPVALUE_BINARIES CACHE )
8+ unset (RUN_TFMPVALUE_TESTS CACHE )
79
8- add_compile_options (
9- -O3
10- -Wall
11- )
10+ ########################
11+ ### modifiable options
12+ option (DEBUG_TFMPVALUE "No optimisations and all warnings" OFF )
13+ option (BUILD_TFMPVALUE_BINARIES "Build binary commands (pv2sc,sc2pv,...)" OFF )
14+ option (RUN_TFMPVALUE_TESTS "Run tests" OFF )
15+ ### modifiable options
16+ ########################
17+
18+ if (RUN_TFMPVALUE_TESTS)
19+ option (BUILD_TFMPVALUE_BINARIES "Build binary commands (pv2sc,sc2pv,...)" ON )
20+ endif (RUN_TFMPVALUE_TESTS )
21+
22+ if (DEBUG_TFMPVALUE)
23+ add_compile_options (
24+ -O0
25+ -Wall
26+ )
27+ else ()
28+ add_compile_options (
29+ -O3
30+ )
31+ endif (DEBUG_TFMPVALUE )
1232
1333########################
1434## LIBRARY
@@ -25,72 +45,73 @@ add_library(
2545########################
2646## EXECUTABLES
2747
28- # static linking applies to all following targets
29- link_libraries (
30- tfmpvalue
31- )
32-
33- add_executable (
34- TFMpvalue-pv2sc
35- ${CMAKE_CURRENT_SOURCE_DIR } /src/ArgumentException.cpp
36- ${CMAKE_CURRENT_SOURCE_DIR } /src/TFMpvalue.cpp
37- )
38- target_compile_definitions (
39- TFMpvalue-pv2sc
40- PUBLIC
41- JASPAR=1
42- PROGRAM =0
43- )
44- add_executable (
45- TFMpvalue-sc2pv
46- ${CMAKE_CURRENT_SOURCE_DIR } /src/ArgumentException.cpp
47- ${CMAKE_CURRENT_SOURCE_DIR } /src/TFMpvalue.cpp
48- )
49- target_compile_definitions (
50- TFMpvalue-sc2pv
51- PUBLIC
52- JASPAR=1
53- PROGRAM =1
54- )
55- add_executable (
56- TFMpvalue-distrib
57- ${CMAKE_CURRENT_SOURCE_DIR } /src/ArgumentException.cpp
58- ${CMAKE_CURRENT_SOURCE_DIR } /src/TFMpvalue.cpp
59- )
60- target_compile_definitions (
61- TFMpvalue-distrib
62- PUBLIC
63- JASPAR=1
64- PROGRAM =3
65- )
66- add_executable (
67- TFMpvalue-fastpvalue
68- ${CMAKE_CURRENT_SOURCE_DIR } /src/ArgumentException.cpp
69- ${CMAKE_CURRENT_SOURCE_DIR } /src/TFMpvalue.cpp
70- )
71- target_compile_definitions (
72- TFMpvalue-fastpvalue
73- PUBLIC
74- JASPAR=1
75- PROGRAM =4
76- )
77- add_executable (
78- TFMpvalue-lazydistrib
79- ${CMAKE_CURRENT_SOURCE_DIR } /src/ArgumentException.cpp
80- ${CMAKE_CURRENT_SOURCE_DIR } /src/TFMpvalue.cpp
81- )
82- target_compile_definitions (
83- TFMpvalue-lazydistrib
84- PUBLIC
85- JASPAR=1
86- PROGRAM =5
87- )
48+ if (BUILD_TFMPVALUE_BINARIES)
49+ # static linking applies to all following targets
50+ link_libraries (
51+ tfmpvalue
52+ )
8853
54+ add_executable (
55+ TFMpvalue-pv2sc
56+ ${CMAKE_CURRENT_SOURCE_DIR } /src/ArgumentException.cpp
57+ ${CMAKE_CURRENT_SOURCE_DIR } /src/TFMpvalue.cpp
58+ )
59+ target_compile_definitions (
60+ TFMpvalue-pv2sc
61+ PUBLIC
62+ JASPAR=1
63+ PROGRAM =0
64+ )
65+ add_executable (
66+ TFMpvalue-sc2pv
67+ ${CMAKE_CURRENT_SOURCE_DIR } /src/ArgumentException.cpp
68+ ${CMAKE_CURRENT_SOURCE_DIR } /src/TFMpvalue.cpp
69+ )
70+ target_compile_definitions (
71+ TFMpvalue-sc2pv
72+ PUBLIC
73+ JASPAR=1
74+ PROGRAM =1
75+ )
76+ add_executable (
77+ TFMpvalue-distrib
78+ ${CMAKE_CURRENT_SOURCE_DIR } /src/ArgumentException.cpp
79+ ${CMAKE_CURRENT_SOURCE_DIR } /src/TFMpvalue.cpp
80+ )
81+ target_compile_definitions (
82+ TFMpvalue-distrib
83+ PUBLIC
84+ JASPAR=1
85+ PROGRAM =3
86+ )
87+ add_executable (
88+ TFMpvalue-fastpvalue
89+ ${CMAKE_CURRENT_SOURCE_DIR } /src/ArgumentException.cpp
90+ ${CMAKE_CURRENT_SOURCE_DIR } /src/TFMpvalue.cpp
91+ )
92+ target_compile_definitions (
93+ TFMpvalue-fastpvalue
94+ PUBLIC
95+ JASPAR=1
96+ PROGRAM =4
97+ )
98+ add_executable (
99+ TFMpvalue-lazydistrib
100+ ${CMAKE_CURRENT_SOURCE_DIR } /src/ArgumentException.cpp
101+ ${CMAKE_CURRENT_SOURCE_DIR } /src/TFMpvalue.cpp
102+ )
103+ target_compile_definitions (
104+ TFMpvalue-lazydistrib
105+ PUBLIC
106+ JASPAR=1
107+ PROGRAM =5
108+ )
109+ endif (BUILD_TFMPVALUE_BINARIES )
89110
90111########################
91112## TESTS
92113
93- if (BUILD_TFMPVALUE_TEST )
114+ if (RUN_TFMPVALUE_TESTS )
94115 enable_testing ()
95116
96117 add_test (
@@ -112,4 +133,4 @@ if (BUILD_TFMPVALUE_TEST)
112133 $<TARGET_FILE :TFMpvalue -distrib > -a 0.25 -t 0.25 -c 0.25 -g 0.25 -m ${CMAKE_CURRENT_SOURCE_DIR } /test/MA0045.pfm -s 8 -S 9 -G 1e-5
113134 )
114135
115- endif (BUILD_TFMPVALUE_TEST )
136+ endif (RUN_TFMPVALUE_TESTS )
0 commit comments