cmake: Use C++20 for MSVC, C++17 otherwise
make: Unix use C++17
This commit is contained in:
committed by
Mizux Seiha
parent
891b80dc5b
commit
486bd407af
@@ -12,7 +12,11 @@ message(STATUS "${PROJECT_NAME} version: ${PROJECT_VERSION}")
|
||||
#message(STATUS "minor: ${PROJECT_VERSION_MINOR}")
|
||||
#message(STATUS "patch: ${PROJECT_VERSION_PATCH}")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
if (MSVC)
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
else()
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
|
||||
@@ -304,4 +304,8 @@ if(BUILD_Cbc)
|
||||
message(CHECK_PASS "fetched")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
if(MSVC)
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
else()
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
endif()
|
||||
|
||||
@@ -65,7 +65,7 @@ ifneq ($(PLATFORM),WIN64)
|
||||
PLATFORM = LINUX
|
||||
|
||||
CXX ?= g++
|
||||
CCC = $(CXX) -fPIC -std=c++20 -fwrapv
|
||||
CCC = $(CXX) -fPIC -std=c++17 -fwrapv
|
||||
L = so
|
||||
|
||||
# This is needed to find libz.a
|
||||
@@ -89,7 +89,7 @@ ifneq ($(PLATFORM),WIN64)
|
||||
LINK_FLAGS = \
|
||||
-Wl,-rpath,'$$ORIGIN' \
|
||||
-Wl,-rpath,'$$ORIGIN/../lib64' \
|
||||
-Wl,-rpath,'$$ORIGIN/../lib'
|
||||
-Wl,-rpath,'$$ORIGIN/../lib'
|
||||
DISTRIBUTION_ID = $(shell lsb_release -i -s)
|
||||
DISTRIBUTION_NUMBER = $(shell lsb_release -r -s)
|
||||
DISTRIBUTION = $(DISTRIBUTION_ID)-$(DISTRIBUTION_NUMBER)
|
||||
@@ -144,7 +144,7 @@ ifneq ($(PLATFORM),WIN64)
|
||||
MAC_MIN_VERSION = 10.15
|
||||
MAC_VERSION = -mmacosx-version-min=$(MAC_MIN_VERSION)
|
||||
CXX ?= clang++
|
||||
CCC = $(CXX) -fPIC -std=c++20 $(MAC_VERSION) -stdlib=libc++
|
||||
CCC = $(CXX) -fPIC -std=c++17 $(MAC_VERSION) -stdlib=libc++
|
||||
L = dylib
|
||||
|
||||
ZLIB_LNK = -lz
|
||||
@@ -194,7 +194,7 @@ ifneq ($(PLATFORM),WIN64)
|
||||
$(GLPK_LNK) \
|
||||
$(CPLEX_LNK) \
|
||||
$(XPRESS_LNK)
|
||||
|
||||
|
||||
# language targets
|
||||
HAS_PYTHON ?= ON
|
||||
ifeq ($(PYTHON_VERSION),)
|
||||
|
||||
@@ -9,15 +9,17 @@ list(FILTER _SRCS EXCLUDE REGEX ".*/test.*")
|
||||
|
||||
set(NAME ${PROJECT_NAME}_pdlp)
|
||||
|
||||
if(MSVC)
|
||||
set(STANDARD 20)
|
||||
else()
|
||||
set(STANDARD 17)
|
||||
endif()
|
||||
|
||||
# Will be merge in libortools.so
|
||||
#add_library(${NAME} STATIC ${_SRCS})
|
||||
add_library(${NAME} OBJECT ${_SRCS})
|
||||
set_target_properties(${NAME} PROPERTIES
|
||||
if(WIN32)
|
||||
CXX_STANDARD 20
|
||||
else()
|
||||
CXX_STANDARD 17
|
||||
endif()
|
||||
CXX_STANDARD ${STANDARD}
|
||||
CXX_STANDARD_REQUIRED ON
|
||||
CXX_EXTENSIONS OFF
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
|
||||
@@ -67,7 +67,7 @@ ifeq ($(SYSTEM),unix)
|
||||
CC_BIN := $(shell command -v $(CC) 2> /dev/null)
|
||||
CXX_BIN := $(shell command -v $(CXX) 2> /dev/null)
|
||||
DEBUG = -O4 -DNDEBUG
|
||||
CXXFLAGS = -fPIC -std=c++20 $(DEBUG) \
|
||||
CXXFLAGS = -fPIC -std=c++17 $(DEBUG) \
|
||||
-I$(INC_DIR) -I. $(ARCH) -Wno-deprecated \
|
||||
-DUSE_BOP -DUSE_GLOP -DUSE_PDLP \
|
||||
-DUSE_CBC -DUSE_CLP \
|
||||
|
||||
Reference in New Issue
Block a user