Hello,

I'm new with CMake and for a project I try to build and install a program.
I've done some research on the forum and try what have found but nothing
seems to work :/.

Here is my configuration and my CMakeList

Application/
     |___ Bin
     |___ Includes
              |___ BaseLib
                     |___ BaseObject.h
              |___ ComposeLib
                     |___ ComposeObject.h
              |___ Manager
                     |___ manager.h
     |___ Src
              |___ BaseLib
                     |___ BaseObject.cpp
                     |___ CMakeList.txt (2)
              |___ ComposeLib
                     |___ ComposeObject.cpp
                     |___ CMakeList.txt (3)
              |___ Manager
                     |___ Manager.cpp
                     |___ CMakeList.txt (4)
     |___ CMakeList.txt (1)

The CMakeList in the root is

# Set the cmake version
cmake_minimum_required(VERSION 2.6)
 
set(BUILD_SHARED_LIBS ON)
set(BUILD_PATH "Bin/${CMAKE_BUILD_TYPE}/")
MESSAGE( "General build path ${BUILD_PATH}" )
 
# Set the list of directory which contain the other CMakeList
add_subdirectory(Src/BaseLib)
add_subdirectory(Src/ComposeLib)
add_subdirectory(Src/Manager)


*The CMakeList for BaseLib is*

# Set the cmake version
cmake_minimum_required(VERSION 2.6)
 
# Set the project name
project(BaseLib)
 
# Configure project
set(BUILD_SHARED_LIBS ON)
set(BUILD_PATH "${CMAKE_BUILD_TYPE}/")
 
#Display Build path
set(LIBRARY_OUTPUT_PATH ../../Bin/${BUILD_PATH})
 
#Include .h files directory
include_directories(../../Includes/BaseLib)
 
#Define librarie
add_library(
        BaseLib 
        SHARED
       ../../Includes/BaseLib/BaseObject.h
      BaseObject.cpp
)
 
set_target_properties(BaseLib PROPERTIES PREFIX "")
install(TARGETS BaseLib 
      RUNTIME DESTINATION bin COMPONENT libraries
     LIBRARY DESTINATION lib COMPONENT libraries
     ARCHIVE DESTINATION lib/static COMPONENT libraries)

*The CMakeList for ComposeLib is*

# Set the cmake version
cmake_minimum_required(VERSION 2.6)
 
# Set the project name
project(ComposeLib )
 
# Configure project
set(BUILD_SHARED_LIBS ON)
set(BUILD_PATH "${CMAKE_BUILD_TYPE}/")
 
#Display Build path
set(LIBRARY_OUTPUT_PATH ../../Bin/${BUILD_PATH})
 
#Include .h files directory
include_directories(../../Includes/BaseLib ../../Includes/ComposeLib)
link_directories(../../Bin/${BUILD_PATH})
 
#Define librarie
add_library(
        ComposeLib 
        SHARED
       ../../Includes/ComposeLib/ComposeObject.h
      ComposeObject.cpp
)

target_link_libraries(
        ComposeLib
        BaseLib
)
 
set_target_properties(ComposeLib PROPERTIES PREFIX "")
install(TARGETS ComposeLib
      RUNTIME DESTINATION bin COMPONENT libraries
     LIBRARY DESTINATION lib COMPONENT libraries
     ARCHIVE DESTINATION lib/static COMPONENT libraries)

And finally the *CMakeList for the Manager*


# Set the cmake version
cmake_minimum_required(VERSION 2.6)
 
# Set the project name
project(Manager)
 
# Configure project
set(BUILD_SHARED_LIBS ON)
set(BUILD_PATH "${CMAKE_BUILD_TYPE}/")
set(EXECUTABLE_OUTPUT_PATH ../../Bin/${BUILD_PATH})
 
#Include .h files directory
include_directories(../../Includes/BaseLib 
../../Includes/ComposeLib
../../Includes/Manager)
 
#Define link libraries folder
link_directories(../../Bin/${BUILD_PATH})
 
add_executable(
        Manager
        ../../Includes/Manager/Manager.h
        Manager.cpp
)
 
target_link_libraries(
        Manager
        BaseLib 
        ComposeLib
        pthread
)
 
set_target_properties(Manager PROPERTIES PREFIX "")
install(TARGETS Manager
                RUNTIME DESTINATION bin COMPONENT libraries
                 LIBRARY DESTINATION lib COMPONENT libraries
                 ARCHIVE DESTINATION lib/static COMPONENT libraries)

The build works fine and if I launch manager on the bin directory from the
build tree, there is no problem. However, when I use make install, all the
files are correctly installed /usr/local/lib and /usr/local/bin but I can't
launch Manager exectuable. A message informs me that the executable can't
find BaseLib.so.

I don't know where my error is :/.
Thank you for all the help you can provide me.

ps: sorry for my english, I'm French.

--
View this message in context: 
http://cmake.3232098.n2.nabble.com/Install-an-executable-with-his-libraries-tp7199530p7199530.html
Sent from the CMake mailing list archive at Nabble.com.
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to