У меня есть код, который успешно работает. Это CmakeLists.txt:
cmake_minimum_required(VERSION 3.15)
project(rotapro3)
set(CMAKE_CXX_STANDARD 14)
add_executable(rotapro3 main.cpp)
:
Я хочу использовать pybind для этого проекта и, следуя инструкциям, добавляю следующие строки:
add_subdirectory(pybind)
pybind11_add_module(rotapro3 main.cpp)
Он успешно запускается, но я получаю сообщение об ошибке:
add_executable cannot create target "rotapro3" because another target with
the same name already exists. The existing target is a module library
created in source directory "C:/Users/Alex/Dropbox/rotapro3".
Я едва знаю CMake. Как я мог переписать эти строки, чтобы позволить мне использовать add_executable
?
ОБНОВЛЕНИЕ:
У меня есть еще один более сложный случай:
set(SOURCE_FILES
unit_test/geometry/monomer_test.cpp
unit_test/geometry/monomer_test.hpp
unit_test/geometry/polymer_test.cpp
unit_test/geometry/polymer_test.hpp
unit_test/geometry/unit_box_test.cpp
unit_test/geometry/unit_box_test.hpp
unit_test/geometry/rect_shape_3d_test.cpp
unit_test/geometry/rect_shape_3d_test.hpp
src/general/guard.cpp
src/general/guard.hpp
src/general/fmt_enum.hpp
src/general/string_format.cpp
src/general/string_format.hpp
src/geometry/monomer.cpp
src/geometry/monomer.hpp
src/geometry/polymer.cpp
src/geometry/polymer.hpp
src/geometry/unit_box.cpp
src/geometry/unit_box.hpp
src/geometry/rect_shape_3d.cpp
src/geometry/rect_shape_3d.hpp
)
include_directories(src/general)
include_directories(src/geometry)
include_directories(unit_test/general)
include_directories(unit_test/geometry)
add_executable(
grapoli_lap ${SOURCE_FILES}
unit_test/general/string_format_test.cpp
unit_test/general/string_format_test.hpp
unit_test/geometry/monomer_test.cpp
unit_test/geometry/monomer_test.hpp
unit_test/geometry/polymer_test.cpp
unit_test/geometry/polymer_test.hpp
unit_test/geometry/unit_box_test.cpp
unit_test/geometry/unit_box_test.hpp
unit_test/geometry/rect_shape_3d_test.cpp
unit_test/geometry/rect_shape_3d_test.cpp
)
add_subdirectory(pybind11)
pybind11_add_module(grapoli_lap grapoli_lib.cpp)
target_link_libraries(grapoli_lap gtest gtest_main)
Я получаю ту же ошибку .