[CMake] How to add non-source files to a Visual Studio project?
Andrew Fenn
andrewfenn at gmail.com
Fri Oct 17 04:47:43 EDT 2008
Put this in your cmakelists.txt
SET(Required_Packages
lib1
lib2
)
FOREACH(Package ${Required_Packages})
FIND_PACKAGE(${Package} REQUIRED)
IF (${Package}_FOUND)
INCLUDE_DIRECTORIES(${${Package}_INCLUDE_DIR})
IF (${Package}_LIBRARIES)
TARGET_LINK_LIBRARIES(hardwar ${${Package}_LIBRARIES})
ELSE (${Package}_LIBRARIES)
LINK_DIRECTORIES(${${Package}_LIBRARY_DIRS})
ENDIF (${Package}_LIBRARIES)
ELSE (${Package}_FOUND)
MESSAGE(STATUS "${Package} not found")
ENDIF(${Package}_FOUND)
ENDFOREACH(Package)
Put below into a file called Findlib1.cmake and make another for lib2
SET( lib1_DEFINITIONS "")
##
# You're going to have to edit this file if you intend to use it for
your own project
##
SET( lib1_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib1 )
IF( EXISTS ${lib1_INCLUDE_DIR} )
SET( lib1_FOUND TRUE )
FILE(GLOB lib1_source ${lib1_INCLUDE_DIR}/*.cpp)
ADD_LIBRARY(lib1 ${lib1_source})
SET( lib1_LIBRARIES lib1)
ENDIF( EXISTS ${lib1_INCLUDE_DIR} )
IF( NOT lib1_FOUND)
IF( NOT lib1_INCLUDE_DIR )
IF (lib1_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find lib1")
ENDIF (lib1_FIND_REQUIRED)
ENDIF( NOT lib1_INCLUDE_DIR )
ELSE ( NOT lib1_FOUND)
INCLUDE_DIRECTORIES("${lib1_INCLUDE_DIR}")
ENDIF( NOT lib1_FOUND)
# Finally, display informations if not in quiet mode
IF( NOT lib1_FIND_QUIETLY )
MESSAGE( STATUS "lib1 found " )
MESSAGE( STATUS " libraries : ${lib1_LIBRARIES}" )
MESSAGE( STATUS " includes : ${lib1_INCLUDE_DIR}" )
ENDIF( NOT lib1_FIND_QUIETLY )
MARK_AS_ADVANCED(
lib1_INCLUDE_DIR
lib1_LIBRARIES
)
On Fri, Oct 17, 2008 at 3:08 PM, Eric Noulard <eric.noulard at gmail.com> wrote:
> Hi All,
>
> I have a project which has a structure similar to:
>
> project/src/lib1
> /src/lib2
> /src/app1
> /src/app2
> /initFiles
>
> each subdir has its own CMakeLists.txt
>
> the content of project/initFiles are files which are CONFIGUREd
> (with CONFIGURE_FILE) and INSTALLed.
>
> I want to make those files appear in the Visual Studio project tree.
> I tried
>
> SET_SOURCE_FILES_PROPERTIES(anInitFile.txt PROPERTIES HEADER_FILE_ONLY TRUE)
>
> but with no success, do I miss something?
>
> Those files dot not appear in any ADD_LIBRARY or ADD_EXECUTABLE arguments.
>
> --
> Erk
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
More information about the CMake
mailing list