diff options
-rw-r--r-- | CMakeLists.txt | 78 | ||||
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | cord/CMakeLists.txt | 30 | ||||
-rw-r--r-- | doc/README.cmake | 2 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 73 |
5 files changed, 75 insertions, 111 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e4b10ac..d272b24d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -264,9 +264,7 @@ set_target_properties(gc PROPERTIES COMPILE_DEFINITIONS GC_NOT_DLL) #TODO TARGET_LINK_LIBRARIES(... ... ${LIBS}) -if (build_cord) - add_subdirectory(cord) -endif() +# TODO if build_cord then add_library(cord ...) if (install_headers) install(FILES include/gc.h @@ -296,5 +294,75 @@ if (install_headers) endif() if (build_tests) - add_subdirectory(tests) -endif() + add_definitions("-DGC_NOT_DLL") + + if (build_cord) + add_executable(cordtest cord/cordbscs.c cord/cordprnt.c cord/cordxtra.c + cord/tests/cordtest.c) + target_link_libraries(cordtest PRIVATE gc) + add_test(NAME cordtest COMMAND cordtest) + + if (WIN32) + add_executable(de cord/cordbscs.c cord/cordxtra.c + cord/tests/de.c cord/tests/de_win.c) + set_target_properties(de PROPERTIES WIN32_EXECUTABLE TRUE) + target_link_libraries(de PRIVATE gc gdi32) + endif() + endif(build_cord) + + # Compile some tests as C++ to test extern "C" in header files. + if (enable_cplusplus) + set_source_files_properties(tests/leak_test.c tests/test.c + PROPERTIES LANGUAGE CXX) + endif() + + add_executable(gctest WIN32 tests/test.c) + target_link_libraries(gctest PRIVATE gc) + add_test(NAME gctest COMMAND gctest) + + add_executable(hugetest tests/huge_test.c) + target_link_libraries(hugetest PRIVATE gc) + add_test(NAME hugetest COMMAND hugetest) + + add_executable(leaktest tests/leak_test.c) + target_link_libraries(leaktest PRIVATE gc) + add_test(NAME leaktest COMMAND leaktest) + + add_executable(middletest tests/middle.c) + target_link_libraries(middletest PRIVATE gc) + add_test(NAME middletest COMMAND middletest) + + add_executable(realloc_test tests/realloc_test.c) + target_link_libraries(realloc_test PRIVATE gc) + add_test(NAME realloc_test COMMAND realloc_test) + + add_executable(smashtest tests/smash_test.c) + target_link_libraries(smashtest PRIVATE gc) + add_test(NAME smashtest COMMAND smashtest) + + if (enable_gc_debug) + add_executable(tracetest tests/trace_test.c) + target_link_libraries(tracetest PRIVATE gc) + add_test(NAME tracetest COMMAND tracetest) + endif() + + if (enable_cplusplus) + # TODO add_executable(test_cpp tests/test_cpp.cc) + # target_link_libraries(test_cpp PRIVATE gc) + # add_test(NAME test_cpp COMMAND test_cpp) + endif() + + if (enable_disclaim) + add_executable(disclaim_bench tests/disclaim_bench.c) + target_link_libraries(disclaim_bench PRIVATE gc) + add_test(NAME disclaim_bench COMMAND disclaim_bench) + + add_executable(disclaim_test tests/disclaim_test.c) + target_link_libraries(disclaim_test PRIVATE gc) + add_test(NAME disclaim_test COMMAND disclaim_test) + + add_executable(disclaim_weakmap_test tests/disclaim_weakmap_test.c) + target_link_libraries(disclaim_weakmap_test PRIVATE gc) + add_test(NAME disclaim_weakmap_test COMMAND disclaim_weakmap_test) + endif() +endif(build_tests) diff --git a/Makefile.am b/Makefile.am index 5de2657f..fc77933c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -198,8 +198,7 @@ EXTRA_DIST += README.QUICK # :GOTCHA: deliberately we do not include 'Makefile' EXTRA_DIST += BCC_MAKEFILE NT_MAKEFILE \ OS2_MAKEFILE PCR-Makefile digimars.mak \ - Makefile.direct SMakefile.amiga WCC_MAKEFILE autogen.sh \ - CMakeLists.txt cord/CMakeLists.txt tests/CMakeLists.txt + Makefile.direct SMakefile.amiga WCC_MAKEFILE autogen.sh CMakeLists.txt # files used by makefiles other than Makefile.am # diff --git a/cord/CMakeLists.txt b/cord/CMakeLists.txt deleted file mode 100644 index 50290c97..00000000 --- a/cord/CMakeLists.txt +++ /dev/null @@ -1,30 +0,0 @@ -# -# Copyright (c) 2000-2010 by Hewlett-Packard Company. All rights reserved. -## -# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED -# OR IMPLIED. ANY USE IS AT YOUR OWN RISK. -## -# Permission is hereby granted to use or copy this program -# for any purpose, provided the above notices are retained on all copies. -# Permission to modify the code and to distribute modified code is granted, -# provided the above notices are retained, and a notice that the code was -# modified is included with the above copyright notice. -## - -# TODO add_library(cord ...) - -if (build_tests) - add_executable(cordtest cordbscs.c cordprnt.c cordxtra.c - tests/cordtest.c) - set_target_properties(cordtest PROPERTIES COMPILE_DEFINITIONS GC_NOT_DLL) - target_link_libraries(cordtest PRIVATE gc) - add_test(NAME cordtest COMMAND cordtest) - - if (WIN32) - add_executable(de cordbscs.c cordxtra.c - tests/de.c tests/de_win.c) - set_target_properties(de PROPERTIES WIN32_EXECUTABLE TRUE) - set_target_properties(de PROPERTIES COMPILE_DEFINITIONS GC_NOT_DLL) - target_link_libraries(de PRIVATE gc gdi32) - endif(WIN32) -endif() diff --git a/doc/README.cmake b/doc/README.cmake index 4c5894b8..527ccda8 100644 --- a/doc/README.cmake +++ b/doc/README.cmake @@ -46,5 +46,5 @@ BUILD PROCESS INPUT ----- -The main input to cmake are the CMakeLists.txt files in each directory. For +The main input to cmake is CMakeLists.txt file in the GC root directory. For help, go to cmake.org. diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt deleted file mode 100644 index 33bc370d..00000000 --- a/tests/CMakeLists.txt +++ /dev/null @@ -1,73 +0,0 @@ -# -# Copyright (c) 1994 by Xerox Corporation. All rights reserved. -# Copyright (c) 1996 by Silicon Graphics. All rights reserved. -# Copyright (c) 1998 by Fergus Henderson. All rights reserved. -# Copyright (c) 2000-2010 by Hewlett-Packard Company. All rights reserved. -## -# THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED -# OR IMPLIED. ANY USE IS AT YOUR OWN RISK. -## -# Permission is hereby granted to use or copy this program -# for any purpose, provided the above notices are retained on all copies. -# Permission to modify the code and to distribute modified code is granted, -# provided the above notices are retained, and a notice that the code was -# modified is included with the above copyright notice. -## - -add_definitions("-DGC_NOT_DLL") - -# Compile some tests as C++ to test extern "C" in header files. -if (enable_cplusplus) - set_source_files_properties(leak_test.c test.c - PROPERTIES LANGUAGE CXX) -endif() - -add_executable(gctest WIN32 test.c) -target_link_libraries(gctest PRIVATE gc) -add_test(NAME gctest COMMAND gctest) - -add_executable(hugetest huge_test.c) -target_link_libraries(hugetest PRIVATE gc) -add_test(NAME hugetest COMMAND hugetest) - -add_executable(leaktest leak_test.c) -target_link_libraries(leaktest PRIVATE gc) -add_test(NAME leaktest COMMAND leaktest) - -add_executable(middletest middle.c) -target_link_libraries(middletest PRIVATE gc) -add_test(NAME middletest COMMAND middletest) - -add_executable(realloc_test realloc_test.c) -target_link_libraries(realloc_test PRIVATE gc) -add_test(NAME realloc_test COMMAND realloc_test) - -add_executable(smashtest smash_test.c) -target_link_libraries(smashtest PRIVATE gc) -add_test(NAME smashtest COMMAND smashtest) - -if (enable_gc_debug) - add_executable(tracetest trace_test.c) - target_link_libraries(tracetest PRIVATE gc) - add_test(NAME tracetest COMMAND tracetest) -endif() - -if (enable_cplusplus) - # TODO add_executable(test_cpp test_cpp.cc) - # target_link_libraries(test_cpp PRIVATE gc) - # add_test(NAME test_cpp COMMAND test_cpp) -endif() - -if (enable_disclaim) - add_executable(disclaim_bench disclaim_bench.c) - target_link_libraries(disclaim_bench PRIVATE gc) - add_test(NAME disclaim_bench COMMAND disclaim_bench) - - add_executable(disclaim_test disclaim_test.c) - target_link_libraries(disclaim_test PRIVATE gc) - add_test(NAME disclaim_test COMMAND disclaim_test) - - add_executable(disclaim_weakmap_test disclaim_weakmap_test.c) - target_link_libraries(disclaim_weakmap_test PRIVATE gc) - add_test(NAME disclaim_weakmap_test COMMAND disclaim_weakmap_test) -endif() |