-
Couldn't load subscription status.
- Fork 80
Open
Description
I have adapted a C++ library I have made, for CPM. The library/module builds without issues when added to a (top-level) parent; however, attempting to build the module by itself yields in error messages, e.g. the following when building using Visual Studio 2013:
[snip]\cpm-packages\tests\ghost-git-repo\main.cpp(2): fatal error C1083: Cannot open include file: 'cpm-test-01/module.hpp': No such file or directory [[snip].vcxproj]
For some reason, CPM's tests are added to my VS project so that it attempts bulding the tests before my own code.
My CMakeLists.txt file currently looks mostly like this:
cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
#-----------------------------------------------------------------------
# CPM configuration
#-----------------------------------------------------------------------
set(CPM_MODULE_NAME "my_library")
set(CPM_LIB_TARGET_NAME ${CPM_MODULE_NAME})
if ((DEFINED CPM_DIR) AND (DEFINED CPM_UNIQUE_ID) AND (DEFINED CPM_TARGET_NAME))
set(CPM_LIB_TARGET_NAME ${CPM_TARGET_NAME})
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CPM_DIR})
include(CPM)
else()
set(CPM_DIR "${CMAKE_CURRENT_BINARY_DIR}/cpm-packages" CACHE TYPE STRING)
find_package(Git)
if(NOT GIT_FOUND)
message(FATAL_ERROR "CPM requires Git.")
endif()
if (NOT EXISTS ${CPM_DIR}/CPM.cmake)
message(STATUS "Cloning repo (https://github.com/iauns/cpm)")
execute_process(
COMMAND "${GIT_EXECUTABLE}" clone https://github.com/iauns/cpm ${CPM_DIR}
RESULT_VARIABLE error_code
OUTPUT_QUIET ERROR_QUIET)
if(error_code)
message(FATAL_ERROR "CPM failed to get the hash for HEAD")
endif()
endif()
include(${CPM_DIR}/CPM.cmake)
endif()
# Include CPM modules or externals here (with CPM_AddModule).
CPM_AddModule("dep_name"
GIT_REPOSITORY "repo_url"
GIT_TAG "tag_name")
CPM_InitModule(${CPM_MODULE_NAME})
CPM_ExportAdditionalLibraryTarget(${CPM_LIB_TARGET_NAME})
#-----------------------------------------------------------------------
# Source
#-----------------------------------------------------------------------
file(GLOB_RECURSE Sources src
"*.cpp"
)
#-----------------------------------------------------------------------
# Library setup
#-----------------------------------------------------------------------
add_library(${CPM_LIB_TARGET_NAME} SHARED ${Sources})
target_link_libraries(${CPM_LIB_TARGET_NAME} ${CPM_LIBRARIES})
Thank you for any assistance you can provide.
Metadata
Metadata
Assignees
Labels
No labels