[CMake] Question about INSTALL_COMMAND for ExternalProject_Add()
Workbench@gmx.at
workbench at gmx.at
Sun Mar 10 08:20:25 EDT 2019
I got the problem solved again, but now i'm stuck... now i've the following:
add_library(glad STATIC IMPORTED)
set_target_properties(glad PROPERTIES IMPORTED_LOCATION
${LIB_DIR}/glad/lib/libglad.a)
add_library(glfw3 STATIC IMPORTED)
set_target_properties(glfw3 PROPERTIES IMPORTED_LOCATION
${LIB_DIR}/glew/lib/libglfw3.a)
add_executable(Test01 source/test/Test01.cpp)
target_link_libraries(Test01 PRIVATE glad glfw3)
But now he can't find the header files which are also created after the
configuration, how to solve this problem ??
I hope you see i put much effort in this and find most of the problems
alone, i hope this time someone can help me out.
best regards!
On 10.03.19 12:38, Workbench at gmx.at wrote:
>
> I came a step forward, now it looks like this:
>
> include(ExternalProject)
> ExternalProject_Add(glfw3
> PREFIX ${CMAKE_BINARY_DIR}/glfw-log
> GIT_REPOSITORY https://github.com/glfw/glfw.git
> GIT_TAG 3.2.1
> SOURCE_DIR ${CMAKE_BINARY_DIR}/glfw
> UPDATE_COMMAND ""
> PATCH_COMMAND ""
> INSTALL_DIR ${CMAKE_BINARY_DIR}/glfw
> CMAKE_ARGS -DCMAKE_BUILD_TYPE:String={CMAKE_BUILD_TYPE}
> -DCMAKE_INSTALL_PREFIX=${LIB_DIR}/glfw
> )
>
> ExternalProject_Add(glad
> PREFIX ${CMAKE_BINARY_DIR}/glad-log
> GIT_REPOSITORY https://github.com/Dav1dde/glad.git
> GIT_TAG v0.1.29
> SOURCE_DIR ${CMAKE_BINARY_DIR}/glad
> UPDATE_COMMAND ""
> PATCH_COMMAND ""
> INSTALL_DIR ${CMAKE_BINARY_DIR}/glad
> CMAKE_ARGS -DCMAKE_BUILD_TYPE:String=${CMAKE_BUILD_TYPE}
> -DCMAKE_INSTALL_PREFIX=${LIB_DIR}/glad -DGLAD_EXPORT=True
> -DGLAD_INSTALL=True
> CONFIGURE_COMMAND ${CMAKE_BUILD_DIR}/
> INSTALL_COMMAND
> COMMAND ${CMAKE_COMMAND} -E copy
> ${CMAKE_BINARY_DIR}/glad-log/src/glad-build/libglad.a
> ${LIB_DIR}/glad/lib/libglad.a
> COMMAND ${CMAKE_COMMAND} -E copy_directory
> ${CMAKE_BINARY_DIR}/glad-log/src/glad-build/include ${LIB_DIR}/glad/
> )
> find_package(glad REQUIRED)
> find_package(glfw3 REQUIRED)
> add_executable(Test01 source/test/Test01.cpp)
> target_link_libraries(Test01 PRIVATE glad glfw3)
>
> But now i've the following problem, i get the error message:
>
> CMake Error at CMakeLists.txt:95 (find_package):
> By not providing "Findglad.cmake" in CMAKE_MODULE_PATH this project has
> asked CMake to find a package configuration file provided by "glad", but
> CMake did not find one.
>
> Could not find a package configuration file provided by "glad" with
> any of
> the following names:
>
> gladConfig.cmake
> glad-config.cmake
>
> Add the installation prefix of "glad" to CMAKE_PREFIX_PATH or set
> "glad_DIR" to a directory containing one of the above files. If "glad"
> provides a separate development package or SDK, be sure it has been
> installed.
>
> The problem is gladConfig.cmake is created after the configure
> procedure, how can i solve this issue ??
>
>
> best regards!
>
>
>
>
> On 10.03.19 11:44, Workbench at gmx.at wrote:
>>
>> Now i've managed to create the right INSTALL_COMMAND but i don't know
>> how to link with my executable. i tried
>>
>> add_executable(MyApp ${src})
>>
>> target_link_libraries(MyApp STATIC GLFW GLAD)
>>
>> and i get the following error message:
>>
>> CMake Error at CMakeLists.txt:96 (target_link_libraries):
>> Target "LIBGLAD" of type UTILITY may not be linked into another target.
>> One may link only to INTERFACE, OBJECT, STATIC or SHARED libraries,
>> or to
>> executables with the ENABLE_EXPORTS property set.
>>
>>
>> CMake Error at CMakeLists.txt:96 (target_link_libraries):
>> Target "LIBGLFW" of type UTILITY may not be linked into another target.
>> One may link only to INTERFACE, OBJECT, STATIC or SHARED libraries,
>> or to
>> executables with the ENABLE_EXPORTS property set.
>>
>>
>>
>> target_link_libraries(M
>>
>> On 10.03.19 10:40, Workbench at gmx.at wrote:
>>> Hi everyone,
>>>
>>> i've managed to use ExternalProject_Add to install GLFW but i have
>>> troubles with glad...
>>>
>>> Here is my code for GLFW wich is working:
>>>
>>> include(ExternalProject)
>>> ExternalProject_Add(GLFW
>>> PREFIX ${LIBDIR}/${CMAKE_BUILD_TYPE}/glfw-log
>>> GIT_REPOSITORY https://github.com/glfw/glfw.git
>>> GIT_TAG 3.2.1
>>> SOURCE_DIR ${CMAKE_BINARY_DIR}/glfw
>>> UPDATE_COMMAND ""
>>> PATCH_COMMAND ""
>>> INSTALL_DIR ${LIBDIR}/glfw
>>> CMAKE_ARGS -DCMAKE_BUILD_TYPE:String={CMAKE_BUILD_TYPE}
>>> -DCMAKE_INSTALL_PREFIX=${LIB_DIR}/glfw
>>> )
>>>
>>> Now i tried the same with GLAD but i had to add INSTALL_COMMAND to make
>>> it work but i've no clue what i should enter there to install it the
>>> same way i did with glfw..
>>>
>>> ExternalProject_Add(GLAD
>>> PREFIX ${LIBDIR}/${CMAKE_BUILD_TYPE}/glad-log
>>> GIT_REPOSITORY https://github.com/Dav1dde/glad.git
>>> GIT_TAG v0.1.29
>>> SOURCE_DIR ${CMAKE_BINARY_DIR}/glad
>>> UPDATE_COMMAND ""
>>> PATCH_COMMAND ""
>>> INSTALL_DIR ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/glad
>>> CMAKE_ARGS -DCMAKE_BUILD_TYPE:String=${CMAKE_BUILD_TYPE}
>>> -DCMAKE_INSTALL_PREFIX=${LIB_DIR}/glad
>>> INSTALL_COMMAND "??"
>>> )
>>>
>>>
>>> I hope someone can help me, i'm a bit clueless about this.
>>>
>>>
>>> best regards!
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20190310/ebcff04e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pEpkey.asc
Type: application/pgp-keys
Size: 2452 bytes
Desc: not available
URL: <https://cmake.org/pipermail/cmake/attachments/20190310/ebcff04e/attachment.key>
More information about the CMake
mailing list