CMake 用以管理软件项目的构建过程。
CMakeLists.txt 定义项目的结构、依赖关系和建构指令,然后CMake依此生成适用于特定平台的本地构建系统(Makefiles, VIsual Studio项目文件等)
可以用于
例子:
cmake_minimum_required(VERSION 3.25)
project(rin)
# 设置C++标准版本
set(CMAKE_CXX_STANDARD 17)
# header file
include_directories(${PROJECT_SOURCE_DIR}/include)
# source file
file(GLOB SOURCES "src/*.cpp")
# 添加可执行文件
add_executable(rin ${SOURCES})
cmake -S .. -B BUILD
cmake --build BUILD --config Release
.\\BUILD\\Release\\test_scs.exe
cmake_minimum_required(VERSION 3.10)
project(scs_example C)
set(CMAKE_CXX_STANDARD 17)
# Importing from scs
# scs install dir
set(SCS_INSTALL_DIR "E:/project/Solvers/scs/build/install")
set(CMAKE_PREFIX_PATH ${SCS_INSTALL_DIR})
# scs Package
find_package(scs REQUIRED)
# Adjust MKLROOT and libs as per your MKL installation
if(DEFINED ENV{MKLROOT})
message(STATUS "MKLROOT is set to $ENV{MKLROOT}")
set(MKLROOT $ENV{MKLROOT})
else()
message(FATAL_ERROR "Environment variable MKLROOT is not set. Please set it to your Intel MKL installation path.")
endif()
link_directories(${MKLROOT}/lib)
add_executable(test_scs example.c)
# Using Solver with mkl,scsmkl.lib
target_link_libraries(test_scs PRIVATE scs::scsmkl)