LINUX.ORG.RU

Сообщения arfaa

 

Добавление версии для цели(target)

Форум — Development

Здравствуйте, пытаюсь через CMAKE добавить версию для targetследующим способом, но не получается:

set(VR_VERSION_MAJOR 1)
set(VR_VERSION_MINOR 2)
set(VR_VERSION_PATCH 3)
set(VR_VERSION ${VR_VERSION_MAJOR}.${VR_VERSION_MINOR}.${VR_VERSION_PATCH} )
set_target_properties(VR PROPERTIES VERSION ${VR_VERSION}
						SOVERSION ${VR_VERSION_MAJOR} )

Вот полный вариант кода, может не туда вставляю,вообщем обшарил весь инет, не могу разобраться, подскажите, где неправ!

if(NOT USE_QT5)
	QT4_WRAP_UI(UISrcs editor.ui connection_options.ui mainwindowview.ui)
else()
	QT5_WRAP_UI(UISrcs editor.ui connection_options.ui mainwindowview.ui)
endif()

find_path(PROPERTY_WIDGET_INCLUDE_DIR PropertyWidget.h PATH_SUFFIXES include/QtnProperty/PropertyWidget)
if(WIN32)
    find_file(PROPERTY_WIDGET_LIBRARY QtnPropertyWidget.lib PATH_SUFFIXES lib)
else()
    find_file(PROPERTY_WIDGET_LIBRARY NAMES QtnPropertyWidget PATH_SUFFIXES lib bin)
endif()


find_path(PROPERTY_CORE_INCLUDE_DIR PropertyCore.h PATH_SUFFIXES include/QtnProperty/Core)
if(WIN32)
    find_file(PROPERTY_CORE_LIBRARY QtnPropertyCore.lib PATH_SUFFIXES lib)
else()
    find_file(PROPERTY_CORE_LIBRARY NAMES QtnPropertyCore PATH_SUFFIXES lib bin)
endif()

include_directories(${PROPERTY_WIDGET_INCLUDE_DIR})
include_directories(${PROPERTY_CORE_INCLUDE_DIR})

add_executable(VR
	${UISrcs}
	main.cpp 
)
	
if(WIN32)
set(ADDITIONAL_LIBS Rpcrt4.lib)
else()
set(ADDITIONAL_LIBS "")
endif()	
target_link_libraries(VR 
	${ADDITIONAL_LIBS}
	${qt_libs}
	${PROPERTY_WIDGET_LIBRARY}
	${PROPERTY_CORE_LIBRARY}
	${OPENSCENEGRAPH_LIBRARIES}
	${OPENGL_LIBRARIES}
)
set(VR_VERSION_MAJOR 1)
set(VR_VERSION_MINOR 2)
set(VR_VERSION_PATCH 3)
set(VR_VERSION ${VR_VERSION_MAJOR}.${VR_VERSION_MINOR}.${VR_VERSION_PATCH} )
set_target_properties(VR PROPERTIES VERSION ${VR_VERSION}
						SOVERSION ${VR_VERSION_MAJOR} )

install(TARGETS VR
    RUNTIME DESTINATION bin
	LIBRARY DESTINATION bin
	ARCHIVE DESTINATION lib)

 

arfaa
()

Разделение сборки

Форум — Development

Здравствуйте, имеется 3 файла: make.bat, CMaksList.txt, BuildEnvironment.bat(установка параметров среды). ********************************************* BuildEnvironment.bat : *********************************************

@echo off

rem ------ Programmer MUST set correct values for this variables ------

SET PRJ_ROOT=%CD%
SET INSTALL=%PRJ_ROOT%\INSTALL
SET MSVS10=%ProgramFiles%\Microsoft Visual Studio 10.0
SET WINDOWSSDK=%ProgramFiles%\Microsoft SDKs\Windows\v7.1
SET PATH=%PRJ_ROOT%;%PATH%

call "%MSVS10%\VC\vcvarsall.bat"

rem ------ Execute commandline

cmd.exe
********************************************* make.bat *********************************************
@echo off
set target=%1

if "%target%" == "" set target=install

if not exist build ( 
  mkdir build
  cd build
  echo Running configure and generate steps of CMake
  cmake -G "Visual Studio 10" -DCMAKE_INSTALL_PREFIX:PATH="%INSTALL%" .. 
) else (
  cd build
)

echo Building target %target%
cmake --build . --target %target%
cd ..

if "%target%" == "clean" (
 echo Removing build directory
 rd /s /q build 
 if exist build rd /s /q build
)
******************************************************* CMaksList.txt *******************************************************
cmake_minimum_required(VERSION 2.8)

project(CKATKernel)

set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})

set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")

if (MSVC10)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_CRT_SECURE_NO_WARNINGS
  /D_CRT_NONSTDC_NO_DEPRECATE /Zc:wchar_t-")
endif (MSVC10)

ENABLE_TESTING()
INCLUDE(CTest)
if (MSVC60)
	find_package(DXSDK REQUIRED)
	find_package(PLATFORMSDK REQUIRED)
elseif (MSVC10)
	find_package(WINDOWSSDK REQUIRED)
endif (MSVC60)

include(cmake/Doxygen.cmake)
include(cmake/MC.cmake)
include(cmake/RPC.cmake)
include(cmake/AddVersion.cmake)
include(cmake/Install.cmake)

include_directories(include)
add_subdirectory(src)
if(NOT DISABLE_DOXYGEN)
	add_subdirectory(doxygen)
endif(NOT DISABLE_DOXYGEN)
add_subdirectory(utils)

Здесь осуществляется сборка проекта и документации. Хотелось бы разделись сборку. То есть командой make собирать только проект, а make doc только документацию. Думаю,что это реализуется с помощью изменения цели, но не получается(или нерпавильно думаю). Подскажите,что делать. Заранее спаибо!

 , ,

arfaa
()

RSS подписка на новые темы