Skip to content

Commit

Permalink
cleanup, and add ARM/ARM64
Browse files Browse the repository at this point in the history
  • Loading branch information
Joel Winarske committed Oct 10, 2018
1 parent 113d329 commit e9affe6
Show file tree
Hide file tree
Showing 5 changed files with 74 additions and 188 deletions.
10 changes: 8 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ set(CMAKE_DEBUG_POSTFIX d)
# Uncomment this if config.h defines RETAIN_WSALASTERROR
#set(XLIBS wsock32.lib)

include (common)

include_directories(.)

Expand All @@ -33,7 +32,9 @@ include (target_arch)
get_target_arch(TARGET_ARCH)

if(${TARGET_ARCH} STREQUAL "ARM")
add_definitions(-D__PTW32_ARCHARM)
add_definitions(-D__PTW32_ARCHARM -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1)
elseif(${TARGET_ARCH} STREQUAL "ARM64")
add_definitions(-D__PTW32_ARCHARM64 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1)
elseif(${TARGET_ARCH} STREQUAL "x86_64")
add_definitions(-D__PTW32_ARCHAMD64)
elseif(${TARGET_ARCH} STREQUAL "x86")
Expand All @@ -43,6 +44,11 @@ elseif(${TARGET_ARCH} STREQUAL "x64")
else()
MESSAGE(ERROR "\"${TARGET_ARCH}\" not supported in version.rc")
endif()
message(STATUS "Target ............ ${TARGET_ARCH}")

if(MSVC)
message(STATUS "MSVC Version ...... ${MSVC_VERSION}")
endif()

#################################
# Install Path #
Expand Down
80 changes: 48 additions & 32 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
version: 3.0.1.{build}

cache:
- C:\Tools\ninja\ninja.exe

shallow_clone: true
clone_depth: 1

Expand All @@ -18,61 +15,80 @@ configuration:
environment:
DIST_DIR: '%APPVEYOR_BUILD_FOLDER%\dist'
CMAKE_DIST_DIR: C:/projects/pthreads4w/dist
NINJA_DIR: C:\Tools\ninja

matrix:

- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
PLATFORM: x64
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
ARCHITECTURE: x86_amd64
ARCHIVE: VS2015_%CONFIGURATION%_%PLATFORM%_%APPVEYOR_BUILD_NUMBER%
GENERATOR: Ninja
ARCHITECTURE: amd64_x86
ARCHIVE: VS2015_%CONFIGURATION%_x86_%APPVEYOR_BUILD_NUMBER%
GENERATOR: 'NMake Makefiles'
TESTING: OFF

- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
PLATFORM: x86
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
ARCHITECTURE: x86
ARCHIVE: VS2015_%CONFIGURATION%_%PLATFORM%_%APPVEYOR_BUILD_NUMBER%
GENERATOR: Ninja
ARCHITECTURE: amd64
ARCHIVE: VS2015_%CONFIGURATION%_x64_%APPVEYOR_BUILD_NUMBER%
GENERATOR: 'NMake Makefiles'
TESTING: OFF

- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
ARCHITECTURE: amd64_arm
ARCHIVE: VS2015_%CONFIGURATION%_ARM_%APPVEYOR_BUILD_NUMBER%
GENERATOR: 'NMake Makefiles'
TESTING: OFF


- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
PLATFORM: x64
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"'
ARCHITECTURE:
ARCHIVE: VS2017_%CONFIGURATION%_%PLATFORM%_%APPVEYOR_BUILD_NUMBER%
GENERATOR: Ninja
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm.bat'
ARCHIVE: VS2017_%CONFIGURATION%_ARM_%APPVEYOR_BUILD_NUMBER%
GENERATOR: 'NMake Makefiles'
TESTING: OFF

- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat'
ARCHIVE: VS2017_%CONFIGURATION%_ARM64_%APPVEYOR_BUILD_NUMBER%
GENERATOR: 'NMake Makefiles'
TESTING: OFF

- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat'
ARCHIVE: VS2017_%CONFIGURATION%_x86_%APPVEYOR_BUILD_NUMBER%
GENERATOR: 'NMake Makefiles'
TESTING: ON

- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
PLATFORM: x86
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"'
ARCHITECTURE:
ARCHIVE: VS2017_%CONFIGURATION%_%PLATFORM%_%APPVEYOR_BUILD_NUMBER%
GENERATOR: Ninja
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat'
ARCHIVE: VS2017_%CONFIGURATION%_x64_%APPVEYOR_BUILD_NUMBER%
GENERATOR: 'NMake Makefiles'
TESTING: ON

init:
- echo BUILD_NUMBER=%APPVEYOR_BUILD_NUMBER%

install:
# Ninja
- if not exist %NINJA_DIR%\ mkdir %NINJA_DIR%
- cd %NINJA_DIR%
- if not exist ninja.exe appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip
- if not exist ninja.exe 7z x ninja-win.zip
- set PATH=%NINJA_DIR%;%PATH%

# CMake
- cmake --version

build:
parallel: true

build_script:
- call "%VCVARSALL%" %ARCHITECTURE%
- if exist "%VCVARSALL%" ( call "%VCVARSALL%" %ARCHITECTURE% )

- cd %APPVEYOR_BUILD_FOLDER%
- mkdir build
- cd build
- cmake -G"%GENERATOR%"
-DCMAKE_BUILD_TYPE=%CONFIGURATION%
-DBUILD_NUMBER=%APPVEYOR_BUILD_NUMBER%
-DDIST_ROOT="%CMAKE_DIST_DIR%/%APPVEYOR_BUILD_WORKER_IMAGE%"
-DENABLE_TESTS=ON
-DENABLE_TESTS=%TESTING%
..
- cmake --build . --config %CONFIGURATION% --target install

cmake --build . --config %CONFIGURATION% --target install

after_build:
- cd %DIST_DIR%
Expand All @@ -88,6 +104,6 @@ before_test:
- set PATH=%APPVEYOR_BUILD_FOLDER%\build;%PATH%
test_script:
- if exist %APPVEYOR_BUILD_FOLDER%\build\tests\ cd %APPVEYOR_BUILD_FOLDER%\build\tests
- if exist %APPVEYOR_BUILD_FOLDER%\build\tests\ ctest -C %CONFIGURATION%
- if exist %APPVEYOR_BUILD_FOLDER%\build\tests\ ctest -C %CONFIGURATION% -V
after_test:
# TODO process CTest output
150 changes: 0 additions & 150 deletions cmake/common.cmake

This file was deleted.

11 changes: 11 additions & 0 deletions cmake/version.rc.in
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,17 @@
# define __PTW32_VERSIONINFO_NAME "pthreadVSE@[email protected]\0"
# define __PTW32_VERSIONINFO_DESCRIPTION "MS C SEH ARM\0"
# endif
# elif defined (__PTW32_ARCHARM64) || defined (__PTW32_ARCHARM64)
# if defined(__PTW32_CLEANUP_C)
# define __PTW32_VERSIONINFO_NAME "pthreadVC@[email protected]\0"
# define __PTW32_VERSIONINFO_DESCRIPTION "MS C ARM64\0"
# elif defined(__PTW32_CLEANUP_CXX)
# define __PTW32_VERSIONINFO_NAME "pthreadVCE@[email protected]\0"
# define __PTW32_VERSIONINFO_DESCRIPTION "MS C++ ARM64\0"
# elif defined(__PTW32_CLEANUP_SEH)
# define __PTW32_VERSIONINFO_NAME "pthreadVSE@[email protected]\0"
# define __PTW32_VERSIONINFO_DESCRIPTION "MS C SEH ARM64\0"
# endif
# endif
#elif defined(__GNUC__)
# if defined(_M_X64)
Expand Down
11 changes: 7 additions & 4 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,25 @@ macro(add_testcase test type def)
set(lib_lib libpthread${type}${PTW32_VER})
set(dll_lib pthread${type}${PTW32_VER})

set(extra "")
set(c_dep "")
if(${test} MATCHES "benchtest")
set(c_dep "benchlib.c")
elseif(${test} MATCHES "openmp1")
endif()

set(extra "")
if(${test} MATCHES "openmp1")
if(MSVC)
set(extra "/openmp -D_OPENMP")
endif()
endif()

add_executable(${lib_test} ${test}.c ${c_dep})
target_link_libraries(${lib_test} ${lib_lib}${targ_suffix}.lib ${XXLIBS})
target_link_libraries(${lib_test} ${lib_lib} ${XXLIBS})
target_compile_definitions(${lib_test} PUBLIC "/nologo -D_CONSOLE -D_MBCS -D${def} ${extra}")
add_dependencies(${lib_test} ${lib_lib})

add_executable(${dll_test} ${test}.c ${c_dep})
target_link_libraries(${dll_test} ${dll_lib}${targ_suffix}.lib ${XXLIBS})
target_link_libraries(${dll_test} ${dll_lib} ${XXLIBS})
target_compile_definitions(${dll_test} PUBLIC "/nologo -D_CONSOLE -D_MBCS -D${def} ${extra}")
add_dependencies(${dll_test} ${dll_lib})

Expand Down

0 comments on commit e9affe6

Please sign in to comment.