Use cmake interface library
This commit is contained in:
parent
d92988c6a2
commit
2a651aa441
@ -26,7 +26,7 @@ RETURN()
|
|||||||
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8.12)
|
cmake_minimum_required(VERSION 3.1)
|
||||||
project(cxxopts)
|
project(cxxopts)
|
||||||
|
|
||||||
enable_testing()
|
enable_testing()
|
||||||
@ -37,9 +37,7 @@ option(CXXOPTS_BUILD_EXAMPLES "Set to ON to build examples" ON)
|
|||||||
option(CXXOPTS_BUILD_TESTS "Set to ON to build tests" OFF)
|
option(CXXOPTS_BUILD_TESTS "Set to ON to build tests" OFF)
|
||||||
|
|
||||||
set(CXXOPTS_LINKER_LIBRARIES "")
|
set(CXXOPTS_LINKER_LIBRARIES "")
|
||||||
|
|
||||||
set(CXXOPTS_USE_UNICODE_HELP FALSE CACHE BOOL "Use ICU Unicode library")
|
set(CXXOPTS_USE_UNICODE_HELP FALSE CACHE BOOL "Use ICU Unicode library")
|
||||||
|
|
||||||
if(CXXOPTS_USE_UNICODE_HELP)
|
if(CXXOPTS_USE_UNICODE_HELP)
|
||||||
|
|
||||||
find_package(PkgConfig)
|
find_package(PkgConfig)
|
||||||
@ -48,8 +46,17 @@ if(CXXOPTS_USE_UNICODE_HELP)
|
|||||||
|
|
||||||
set(CXXOPTS_LINKER_LIBRARIES "${ICU_LIBRARIES}")
|
set(CXXOPTS_LINKER_LIBRARIES "${ICU_LIBRARIES}")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCXXOPTS_USE_UNICODE")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCXXOPTS_USE_UNICODE")
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_library(cxxopts INTERFACE)
|
||||||
|
target_sources(
|
||||||
|
cxxopts INTERFACE
|
||||||
|
${CMAKE_SOURCE_DIR}/include/cxxopts/cxxopts.hpp
|
||||||
|
)
|
||||||
|
target_include_directories(
|
||||||
|
cxxopts INTERFACE
|
||||||
|
${CMAKE_SOURCE_DIR}/include
|
||||||
|
)
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
add_subdirectory(test)
|
add_subdirectory(test)
|
||||||
|
|||||||
@ -19,7 +19,8 @@
|
|||||||
# THE SOFTWARE.
|
# THE SOFTWARE.
|
||||||
|
|
||||||
if(CXXOPTS_BUILD_EXAMPLES)
|
if(CXXOPTS_BUILD_EXAMPLES)
|
||||||
add_executable(example example.cpp cxxopts.hpp)
|
add_executable(example example.cpp)
|
||||||
|
target_link_libraries(example PRIVATE cxxopts)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
target_compile_options(example PUBLIC /W2)
|
target_compile_options(example PUBLIC /W2)
|
||||||
@ -27,5 +28,3 @@ if(CXXOPTS_BUILD_EXAMPLES)
|
|||||||
target_compile_options(example PUBLIC -std=c++11 -Wall)
|
target_compile_options(example PUBLIC -std=c++11 -Wall)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(FILES cxxopts.hpp DESTINATION include)
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@ THE SOFTWARE.
|
|||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include "cxxopts.hpp"
|
#include "cxxopts/cxxopts.hpp"
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
if (CXXOPTS_BUILD_TESTS)
|
if (CXXOPTS_BUILD_TESTS)
|
||||||
add_executable(options_test options.cpp)
|
add_executable(options_test options.cpp)
|
||||||
|
target_link_libraries(options_test PRIVATE cxxopts)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
target_compile_options(options_test PUBLIC /W2)
|
target_compile_options(options_test PUBLIC /W2)
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <initializer_list>
|
#include <initializer_list>
|
||||||
|
|
||||||
#include "../src/cxxopts.hpp"
|
#include "cxxopts/cxxopts.hpp"
|
||||||
|
|
||||||
class Argv {
|
class Argv {
|
||||||
public:
|
public:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user