I am attempting to build a shared library as a project. In order to explain my project I will use a pseudo project with a similar setup. The library is called TruckInterface with four directories (Wheels, Engine, Frame and Truck). The directories Wheels, Engine and Frame are built as static libraries and Truck is a shared library to be installed. TruckInterface |------- Wheels |------- Engine |------- Frame |------- Truck In the CMakeLists.txt for Wheels, Engine and Frame I have followed the format below: SET ( HEADERS ..list header files ) SET ( SOURCES ...list source files ) INCLUDE_DIRECTORIES ( ...other directory to look for headers in the project... ) add_library ( <name> STATIC ${SOURCES} ${HEADERS} ) In the CMakeLists.txt for Truck I have SET ( HEADERS ..list header files ) SET ( SOURCES ...list source files ) INCLUDE_DIRECTORIES ( ...other directory to look for headers in the project... ) add_library ( Truck SHARED ${SOURCES} ${HEADERS} ) link_libraries ( Wheels Engine Frame ) Now my problems that I am coming across, some of which are not cmake's fault: 1. Undefined references even though the code has been declared for member functions 2. Unable to set global compiler flags in the CMakeLists in the TruckInterface directory 3. How to select when I want a debug versus a release build. My experience is using Automake/Autoconf on Linux and Visual Studio on Windows. I would appreciate help on points 2 and 3 but would like advice on how to debug point 1. Stephen _______________________________________________ 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