diff options
author | matsuo <zzmatsuo@gmail.com> | 2019-05-25 17:19:06 +0900 |
---|---|---|
committer | matsuo <zzmatsuo@gmail.com> | 2019-05-25 17:19:06 +0900 |
commit | 5b257a4523a88b9fb4fc475b21fb49c72ccaa2bf (patch) | |
tree | 395d9013b7051ef5eafee360dcae639fa5c1ce48 /CMakeLists.txt | |
parent | 162f0a6ad94901ca8247d518d8c25d84ff0fd0f0 (diff) | |
download | oniguruma-5b257a4523a88b9fb4fc475b21fb49c72ccaa2bf.zip oniguruma-5b257a4523a88b9fb4fc475b21fb49c72ccaa2bf.tar.gz oniguruma-5b257a4523a88b9fb4fc475b21fb49c72ccaa2bf.tar.bz2 |
Add MSVC_STATIC_RUNTIME option in CMakeLists.txt
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 40 |
1 files changed, 25 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f3eca6b..8348b06 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,28 +1,19 @@ cmake_minimum_required(VERSION 3.1) -project(oniguruma VERSION 6.9.2) +project(oniguruma + VERSION 6.9.2 + LANGUAGES C) set(PACKAGE onig) set(PACKAGE_VERSION ${PROJECT_VERSION}) option(BUILD_SHARED_LIBS "Build shared libraries" ON) option(ENABLE_POSIX_API "Include POSIX API" ON) - -set(USE_CRNL_AS_LINE_TERMINATOR 0) -set(VERSION ${PACKAGE_VERSION}) - if(MSVC) - # Force to always compile with W4 - if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - endif() -elseif(CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") -elseif(CMAKE_COMPILER_IS_GNUCC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") + option(MSVC_STATIC_RUNTIME "Build with static runtime" OFF) endif() +set(USE_CRNL_AS_LINE_TERMINATOR 0) +set(VERSION ${PACKAGE_VERSION}) include(CheckCSourceCompiles) include(CheckIncludeFiles) @@ -73,6 +64,25 @@ target_include_directories(onig PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src> $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>) +if(MSVC) + target_compile_options(onig PRIVATE + #/W4 + ) + if(MSVC_STATIC_RUNTIME) + target_compile_options(onig PRIVATE + $<$<CONFIG:Release>:/MT> + $<$<CONFIG:Debug>:/MTd> + $<$<CONFIG:MinSizeRel>:/MT> + $<$<CONFIG:RelWithDebgInfo>:/MTd> + ) + endif() +elseif(CMAKE_COMPILER_IS_GNUCC) + target_compile_options(onig PRIVATE + -Wall + ) +endif() + + # Installation (https://github.com/forexample/package-example) # Introduce variables: |