Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jarro2783/cxxopts.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorjpr89 <31327577+jpr89@users.noreply.github.com>2021-01-17 04:11:02 +0300
committerGitHub <noreply@github.com>2021-01-17 04:11:02 +0300
commitc55726ee29dc41cb4d0b462c988041f536cd6e12 (patch)
treef755978767d10b8f9e54d3f070ceafceb534c7a1 /test
parent2d8e17c4f88efce80e274cb03eeb902e055a91d3 (diff)
Cmake Revamp (#270)
* Cmake Revamp I needed to do a variety of things to ensure cxxopts worked well in my own project. I created a new cmake module to abstract a lot of the logic in the main CMakelists.txt, I think it really assists in the readability of the project. Consequently a lot of logic is now written in functions. I made a lot of the project options off by default unless the project is being built standalone. As a frequent consumer of cmake libraries this is a huge issue. Since examples, tests, installation, etc. aren't things I expect/desired by default when using libraries. Co-authored-by: Juan Ramos <juanr0911@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt82
1 files changed, 50 insertions, 32 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 1969545..d3467f3 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,35 +1,53 @@
-if (CXXOPTS_BUILD_TESTS)
- add_executable(options_test main.cpp options.cpp)
- target_link_libraries(options_test cxxopts)
- add_test(options options_test)
+# Copyright (c) 2014 Jarryd Beck
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
- # test if the targets are findable from the build directory
- add_test(find-package-test ${CMAKE_CTEST_COMMAND}
- -C ${CMAKE_BUILD_TYPE}
- --build-and-test
- "${CMAKE_CURRENT_SOURCE_DIR}/find-package-test"
- "${CMAKE_CURRENT_BINARY_DIR}/find-package-test"
- --build-generator ${CMAKE_GENERATOR}
- --build-makeprogram ${CMAKE_MAKE_PROGRAM}
- --build-options
- "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
- "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
- "-Dcxxopts_DIR=${PROJECT_BINARY_DIR}"
- )
+add_executable(options_test main.cpp options.cpp)
+target_link_libraries(options_test cxxopts)
+add_test(options options_test)
- # test if the targets are findable when add_subdirectory is used
- add_test(add-subdirectory-test ${CMAKE_CTEST_COMMAND}
- -C ${CMAKE_BUILD_TYPE}
- --build-and-test
- "${CMAKE_CURRENT_SOURCE_DIR}/add-subdirectory-test"
- "${CMAKE_CURRENT_BINARY_DIR}/add-subdirectory-test"
- --build-generator ${CMAKE_GENERATOR}
- --build-makeprogram ${CMAKE_MAKE_PROGRAM}
- --build-options
- "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
- "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
- )
+# test if the targets are findable from the build directory
+add_test(find-package-test ${CMAKE_CTEST_COMMAND}
+ -C ${CMAKE_BUILD_TYPE}
+ --build-and-test
+ "${CMAKE_CURRENT_SOURCE_DIR}/find-package-test"
+ "${CMAKE_CURRENT_BINARY_DIR}/find-package-test"
+ --build-generator ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ --build-options
+ "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
+ "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
+ "-Dcxxopts_DIR=${PROJECT_BINARY_DIR}"
+)
- add_executable(link_test link_a.cpp link_b.cpp)
- target_link_libraries(link_test cxxopts)
-endif()
+# test if the targets are findable when add_subdirectory is used
+add_test(add-subdirectory-test ${CMAKE_CTEST_COMMAND}
+ -C ${CMAKE_BUILD_TYPE}
+ --build-and-test
+ "${CMAKE_CURRENT_SOURCE_DIR}/add-subdirectory-test"
+ "${CMAKE_CURRENT_BINARY_DIR}/add-subdirectory-test"
+ --build-generator ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ --build-options
+ "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
+ "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
+)
+
+add_executable(link_test link_a.cpp link_b.cpp)
+target_link_libraries(link_test cxxopts)