[CMake] Question about INSTALL_COMMAND for ExternalProject_Add()
Workbench@gmx.at
workbench at gmx.at
Sun Mar 10 07:38:06 EDT 2019
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/dd9f9925/attachment-0001.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/dd9f9925/attachment-0001.key>
More information about the CMake
mailing list