@@ -2,7 +2,11 @@ cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
22
33project (unboxing C)
44
5- set (WARNINGS -Wall -Wextra -Wpedantic -pedantic-errors -Wformat-overflow=2 -Wstrict-overflow=2 -Werror)
5+ if (WIN32 )
6+ set (WARNINGS /MP)
7+ else ()
8+ set (WARNINGS -Wall -Wextra -Wpedantic -pedantic-errors -Wformat-overflow=2 -Wstrict-overflow=2 -Werror)
9+ endif ()
610
711add_library (unboxing
812 src/base/math_crc32.c
@@ -86,7 +90,9 @@ add_library(unboxing
8690)
8791target_compile_options (unboxing PRIVATE ${WARNINGS} )
8892target_include_directories (unboxing PUBLIC inc thirdparty/glib)
89- target_link_libraries (unboxing m)
93+ if (NOT WIN32 )
94+ target_link_libraries (unboxing m)
95+ endif ()
9096
9197set_property (SOURCE src/unboxer.c APPEND PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} /src/unboxer)
9298set_property (SOURCE src/codecs/bchcodec.c APPEND PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} /thirdparty/bch)
@@ -124,20 +130,23 @@ if(BUILD_TESTING)
124130 target_compile_options (unboxer PRIVATE ${WARNINGS} )
125131 target_link_libraries (unboxer testutils)
126132
127-
128- add_executable (testunboxing
129- tests/unboxingdata/configtests.c
130- tests/unboxingdata/crctests.c
131- tests/unboxingdata/image8tests.c
132- tests/unboxingdata/mathtests.c
133- tests/unboxingdata/matrixtests.c
134- tests/unboxingdata/metadatatests.c
135- tests/unboxingdata/stringtests.c
136- tests/unboxingdata/testsmain.c
137- )
138- target_compile_options (testunboxing PRIVATE ${WARNINGS} )
139- target_include_directories (testunboxing PRIVATE tests/testutils/inc)
140- target_link_libraries (testunboxing unboxing -lcheck -lsubunit)
133+ if (NOT WIN32 )
134+ add_executable (testunboxing
135+ tests/unboxingdata/configtests.c
136+ tests/unboxingdata/crctests.c
137+ tests/unboxingdata/image8tests.c
138+ tests/unboxingdata/mathtests.c
139+ tests/unboxingdata/matrixtests.c
140+ tests/unboxingdata/metadatatests.c
141+ tests/unboxingdata/stringtests.c
142+ tests/unboxingdata/testsmain.c
143+ )
144+ target_compile_options (testunboxing PRIVATE ${WARNINGS} )
145+ target_include_directories (testunboxing PRIVATE tests/testutils/inc)
146+ target_link_libraries (testunboxing unboxing -lcheck -lsubunit)
147+ add_test (NAME testunboxing COMMAND testunboxing)
148+ set_target_properties (testunboxing PROPERTIES C_EXTENSIONS OFF C_STANDARD 99 C_STANDARD_REQUIRED ON )
149+ endif ()
141150
142151 add_executable (bch_test
143152 thirdparty/bch/bch.c
@@ -146,25 +155,27 @@ if(BUILD_TESTING)
146155 target_compile_options (bch_test PRIVATE ${WARNINGS} )
147156 target_include_directories (bch_test PRIVATE inc)
148157
149- set_target_properties (bch_test static_unboxer testunboxing unboxer PROPERTIES
158+ set_target_properties (bch_test static_unboxer unboxer PROPERTIES
150159 C_EXTENSIONS OFF
151160 C_STANDARD 99
152161 C_STANDARD_REQUIRED ON
153162 )
154163
155- add_test (NAME testunboxing COMMAND testunboxing)
156164 add_test (NAME static_unboxer COMMAND static_unboxer)
157165 add_test (NAME bch_test COMMAND bch_test)
158166 add_test (NAME unboxer_4kv6 COMMAND unboxer -i ../tests/testdata/12288x6878_4kv6.image8 -s 12288 6878 -f 4kv6 -o out-4kv6.dat)
159167 add_test (NAME unboxer_4kv9 COMMAND unboxer -i ../tests/testdata/12288x6879_4kv9.image8 -s 12288 6879 -f 4kv9 -o out-4kv9.dat)
160168 add_test (NAME unboxer_4kv6_analog COMMAND unboxer -i ../tests/testdata/12288x6878_4kv6_analog.image8 -s 12288 6878 -f 4kv6 -o out-4kv6_analog.dat)
161169 add_test (NAME unboxer_4kv6_raw COMMAND unboxer -i ../tests/testdata/4kv6_*d.raw -f 4kv6 -s 4096 2160 -o out_4kv6_raw.dat -is_raw)
162170
163- add_custom_command (
164- OUTPUT "${CMAKE_CURRENT_SOURCE_DIR} /doc/html/index.html"
165- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR} "
166- COMMAND doxygen doxygen.dox
167- DEPENDS doxygen.dox
168- )
169- add_custom_target (doxygen ALL DEPENDS doc /html/index.html)
171+ if (NOT WIN32 )
172+
173+ add_custom_command (
174+ OUTPUT "${CMAKE_CURRENT_SOURCE_DIR} /doc/html/index.html"
175+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR} "
176+ COMMAND doxygen doxygen.dox
177+ DEPENDS doxygen.dox
178+ )
179+ add_custom_target (doxygen ALL DEPENDS doc /html/index.html)
180+ endif ()
170181endif ()
0 commit comments