Hi,
I'm trying to use target_link_libraries to add a release and debug version of a 
library to my debug and release config of my Visual Studyi project.
        message(${JSONCPP_LIB_DEBUG})
        message(${JSONCPP_LIB_RELEASE})
        target_link_libraries(
                TEEngineTest
                TECore
                TEngine
                TEGraphics
                TEPhysics
                TETransform
                ${cg_libs}
                ${libpng_lib}
                ${ASSIMP_LIB}
                debug ${JSONCPP_LIB_DEBUG}
                optimized ${JSONCPP_LIB_RELEASE})
When I'm generating it prints this:
D:/coding/tengine/Externals/jsoncpp/build/vs71/debug/lib_json/json_vc71_libmtd.lib
D:/coding/tengine/Externals/jsoncpp/build/vs71/release/lib_json/json_vc71_libmt.lib
Configuring done
Generating done
But when I look at the properties of the project it adds the release build of 
the lib to both debug and the release build?

Im not sure if this is relevant, but this is how I set up  my debug and release 
config for Visual Studio
if(MSVC)        set_property(GLOBAL PROPERTY USE_FOLDERS ON)    
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "9. CMake")              
        set(CMAKE_CONFIGURATION_TYPES 
"DebugOpenGL;ReleaseOpenGL;DebugDX11;ReleaseDX11")        
set(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING       
"Reset the configurations to what we need"      FORCE)          #DebugOpenGL 
flags      set(CMAKE_CXX_FLAGS_DEBUGOPENGL "/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1" 
CACHE STRING "Flags used by the C++ compiler during maintainer builds." FORCE)  
     set(CMAKE_C_FLAGS_DEBUGOPENGL "/D_DEBUG /MDd /Zi  /Ob0 /Od /RTC1" CACHE 
STRING "Flags used by the C compiler during maintainer builds." FORCE)  
set(CMAKE_EXE_LINKER_FLAGS_DEBUGOPENGL "/debug /INCREMENTAL" CACHE STRING 
"Flags used for linking binaries during maintainer builds." FORCE )   
set(CMAKE_SHARED_LINKER_FLAGS_DEBUGOPENGL "/debug /INCREMENTAL" CACHE STRING 
"Flags used by the shared libraries linker during maintainer builds." FORCE )
        #ReleaseOpenGL flags    set(CMAKE_CXX_FLAGS_RELEASEOPENGL "/MD /O2 /Ob2 
/D NDEBUG" CACHE STRING "Flags used by the C++ compiler during maintainer 
builds." FORCE)       set(CMAKE_C_FLAGS_RELEASEOPENGL "/MD /O2 /Ob2 /D NDEBUG" 
CACHE STRING "Flags used by the C compiler during maintainer builds." FORCE)   
set(CMAKE_EXE_LINKER_FLAGS_RELEASEOPENGL "/INCREMENTAL:NO" CACHE STRING "Flags 
used for linking binaries during maintainer builds." FORCE )     
set(CMAKE_SHARED_LINKER_FLAGS_RELEASEOPENGL "/INCREMENTAL:NO" CACHE STRING 
"Flags used by the shared libraries linker during maintainer builds." FORCE )   
             #DebugDX11 flags        set(CMAKE_CXX_FLAGS_DEBUGDX11 "/D_DEBUG 
/MDd /Zi /Ob0 /Od /RTC1" CACHE STRING "Flags used by the C++ compiler during 
maintainer builds." FORCE) set(CMAKE_C_FLAGS_DEBUGDX11 "/D_DEBUG /MDd /Zi  /Ob0 
/Od /RTC1" CACHE STRING "Flags used by the C compiler during maintainer 
builds." FORCE)    set(CMAKE_EXE_LINKER_FLAGS_DEBUGDX11 "/debug /INCREMENTAL" 
CACHE STRING "Flags used for linking binaries during maintainer builds." FORCE 
)     set(CMAKE_SHARED_LINKER_FLAGS_DEBUGDX11 "/debug /INCREMENTAL" CACHE 
STRING "Flags used by the shared libraries linker during maintainer builds." 
FORCE )                #ReleaseDX11 flags      set(CMAKE_CXX_FLAGS_RELEASEDX11 
"/MD /O2 /Ob2 /D NDEBUG" CACHE STRING "Flags used by the C++ compiler during 
maintainer builds." FORCE) set(CMAKE_C_FLAGS_RELEASEDX11 "/MD /O2 /Ob2 /D 
NDEBUG" CACHE STRING "Flags used by the C compiler during maintainer builds." 
FORCE)     set(CMAKE_EXE_LINKER_FLAGS_RELEASEDX11 "/INCREMENTAL:NO" CACHE 
STRING "Flags used for linking binaries during maintainer builds." FORCE )      
 set(CMAKE_SHARED_LINKER_FLAGS_RELEASEDX11 "/INCREMENTAL:NO" CACHE STRING 
"Flags used by the shared libraries linker during maintainer builds." FORCE )   
       set_directory_properties(PROPERTIES             
COMPILE_DEFINITIONS_DEBUGOPENGL TE_OPENGL               
COMPILE_DEFINITIONS_RELEASEOPENGL TE_OPENGL             
COMPILE_DEFINITIONS_DEBUGDX11 TE_DX11           COMPILE_DEFINITIONS_RELEASEDX11 
TE_DX11)endif()                                           
--

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