코드는 C++
으로 작성되었지만 python-numpy
인터페이스도 제공하므로 두 가지 모드 (with-numpy
또는 without-numpy
)로 컴파일 할 수 있습니다. Makefile
에서 변수를 플래그로 설정할 수 있습니다. 예를 들어 make
을 사용하여 libmylib.so
을 생성하고 make numpy=1
을 사용하여 libmylibpy.so
을 생성 할 수 있습니다. 실제로 Makefile
에서 numpy=1
을 사용하여 CXXFLAGS
을 -DNUMPY_INTERFACE
으로 정의합니다.하나의 플래그에 따라 하나의 CMakeFiles.txt에서 다른 공유 라이브러리를 생성하는 방법
이제 프로젝트를 cmake 프로젝트로 변경하고 싶습니다. 다음은 numpy
인터페이스없이 간단한 CMakeFiles.txt
를 다음과 같습니다
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin)
project(mylib)
include_directories(include)
add_library(mylib SHARED
include/common.h
include/util.h
src/common.cpp
src/util.cpp
)
이
어떻게 또는 numpy
인터페이스없이 다른 공유 라이브러리를 생성하는 플래그로 CMakeFiles.txt
를 업데이트 할 수 있을까?
감사합니다. 그러나 우리는'CMake 2.8.11' 또는 그 이상에서'target_compile_definitions'을 사용해야합니다. – mining