Skip to content

Commit e9affe6

Browse files
author
Joel Winarske
committed
cleanup, and add ARM/ARM64
1 parent 113d329 commit e9affe6

File tree

5 files changed

+74
-188
lines changed

5 files changed

+74
-188
lines changed

CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ set(CMAKE_DEBUG_POSTFIX d)
2121
# Uncomment this if config.h defines RETAIN_WSALASTERROR
2222
#set(XLIBS wsock32.lib)
2323

24-
include (common)
2524

2625
include_directories(.)
2726

@@ -33,7 +32,9 @@ include (target_arch)
3332
get_target_arch(TARGET_ARCH)
3433

3534
if(${TARGET_ARCH} STREQUAL "ARM")
36-
add_definitions(-D__PTW32_ARCHARM)
35+
add_definitions(-D__PTW32_ARCHARM -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1)
36+
elseif(${TARGET_ARCH} STREQUAL "ARM64")
37+
add_definitions(-D__PTW32_ARCHARM64 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1)
3738
elseif(${TARGET_ARCH} STREQUAL "x86_64")
3839
add_definitions(-D__PTW32_ARCHAMD64)
3940
elseif(${TARGET_ARCH} STREQUAL "x86")
@@ -43,6 +44,11 @@ elseif(${TARGET_ARCH} STREQUAL "x64")
4344
else()
4445
MESSAGE(ERROR "\"${TARGET_ARCH}\" not supported in version.rc")
4546
endif()
47+
message(STATUS "Target ............ ${TARGET_ARCH}")
48+
49+
if(MSVC)
50+
message(STATUS "MSVC Version ...... ${MSVC_VERSION}")
51+
endif()
4652

4753
#################################
4854
# Install Path #

appveyor.yml

Lines changed: 48 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
version: 3.0.1.{build}
22

3-
cache:
4-
- C:\Tools\ninja\ninja.exe
5-
63
shallow_clone: true
74
clone_depth: 1
85

@@ -18,61 +15,80 @@ configuration:
1815
environment:
1916
DIST_DIR: '%APPVEYOR_BUILD_FOLDER%\dist'
2017
CMAKE_DIST_DIR: C:/projects/pthreads4w/dist
21-
NINJA_DIR: C:\Tools\ninja
18+
2219
matrix:
20+
2321
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
24-
PLATFORM: x64
2522
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
26-
ARCHITECTURE: x86_amd64
27-
ARCHIVE: VS2015_%CONFIGURATION%_%PLATFORM%_%APPVEYOR_BUILD_NUMBER%
28-
GENERATOR: Ninja
23+
ARCHITECTURE: amd64_x86
24+
ARCHIVE: VS2015_%CONFIGURATION%_x86_%APPVEYOR_BUILD_NUMBER%
25+
GENERATOR: 'NMake Makefiles'
26+
TESTING: OFF
27+
2928
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
30-
PLATFORM: x86
3129
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
32-
ARCHITECTURE: x86
33-
ARCHIVE: VS2015_%CONFIGURATION%_%PLATFORM%_%APPVEYOR_BUILD_NUMBER%
34-
GENERATOR: Ninja
30+
ARCHITECTURE: amd64
31+
ARCHIVE: VS2015_%CONFIGURATION%_x64_%APPVEYOR_BUILD_NUMBER%
32+
GENERATOR: 'NMake Makefiles'
33+
TESTING: OFF
34+
35+
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
36+
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat'
37+
ARCHITECTURE: amd64_arm
38+
ARCHIVE: VS2015_%CONFIGURATION%_ARM_%APPVEYOR_BUILD_NUMBER%
39+
GENERATOR: 'NMake Makefiles'
40+
TESTING: OFF
41+
42+
3543
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
36-
PLATFORM: x64
37-
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"'
38-
ARCHITECTURE:
39-
ARCHIVE: VS2017_%CONFIGURATION%_%PLATFORM%_%APPVEYOR_BUILD_NUMBER%
40-
GENERATOR: Ninja
44+
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm.bat'
45+
ARCHIVE: VS2017_%CONFIGURATION%_ARM_%APPVEYOR_BUILD_NUMBER%
46+
GENERATOR: 'NMake Makefiles'
47+
TESTING: OFF
48+
49+
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
50+
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat'
51+
ARCHIVE: VS2017_%CONFIGURATION%_ARM64_%APPVEYOR_BUILD_NUMBER%
52+
GENERATOR: 'NMake Makefiles'
53+
TESTING: OFF
54+
55+
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
56+
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat'
57+
ARCHIVE: VS2017_%CONFIGURATION%_x86_%APPVEYOR_BUILD_NUMBER%
58+
GENERATOR: 'NMake Makefiles'
59+
TESTING: ON
60+
4161
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
42-
PLATFORM: x86
43-
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"'
44-
ARCHITECTURE:
45-
ARCHIVE: VS2017_%CONFIGURATION%_%PLATFORM%_%APPVEYOR_BUILD_NUMBER%
46-
GENERATOR: Ninja
62+
VCVARSALL: '%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat'
63+
ARCHIVE: VS2017_%CONFIGURATION%_x64_%APPVEYOR_BUILD_NUMBER%
64+
GENERATOR: 'NMake Makefiles'
65+
TESTING: ON
4766

4867
init:
4968
- echo BUILD_NUMBER=%APPVEYOR_BUILD_NUMBER%
5069

5170
install:
52-
# Ninja
53-
- if not exist %NINJA_DIR%\ mkdir %NINJA_DIR%
54-
- cd %NINJA_DIR%
55-
- if not exist ninja.exe appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip
56-
- if not exist ninja.exe 7z x ninja-win.zip
57-
- set PATH=%NINJA_DIR%;%PATH%
71+
5872
# CMake
5973
- cmake --version
6074

6175
build:
6276
parallel: true
6377

6478
build_script:
65-
- call "%VCVARSALL%" %ARCHITECTURE%
79+
- if exist "%VCVARSALL%" ( call "%VCVARSALL%" %ARCHITECTURE% )
80+
6681
- cd %APPVEYOR_BUILD_FOLDER%
6782
- mkdir build
6883
- cd build
6984
- cmake -G"%GENERATOR%"
7085
-DCMAKE_BUILD_TYPE=%CONFIGURATION%
7186
-DBUILD_NUMBER=%APPVEYOR_BUILD_NUMBER%
7287
-DDIST_ROOT="%CMAKE_DIST_DIR%/%APPVEYOR_BUILD_WORKER_IMAGE%"
73-
-DENABLE_TESTS=ON
88+
-DENABLE_TESTS=%TESTING%
7489
..
75-
- cmake --build . --config %CONFIGURATION% --target install
90+
91+
cmake --build . --config %CONFIGURATION% --target install
7692

7793
after_build:
7894
- cd %DIST_DIR%
@@ -88,6 +104,6 @@ before_test:
88104
- set PATH=%APPVEYOR_BUILD_FOLDER%\build;%PATH%
89105
test_script:
90106
- if exist %APPVEYOR_BUILD_FOLDER%\build\tests\ cd %APPVEYOR_BUILD_FOLDER%\build\tests
91-
- if exist %APPVEYOR_BUILD_FOLDER%\build\tests\ ctest -C %CONFIGURATION%
107+
- if exist %APPVEYOR_BUILD_FOLDER%\build\tests\ ctest -C %CONFIGURATION% -V
92108
after_test:
93109
# TODO process CTest output

cmake/common.cmake

Lines changed: 0 additions & 150 deletions
This file was deleted.

cmake/version.rc.in

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,17 @@
7474
# define __PTW32_VERSIONINFO_NAME "pthreadVSE@[email protected]\0"
7575
# define __PTW32_VERSIONINFO_DESCRIPTION "MS C SEH ARM\0"
7676
# endif
77+
# elif defined (__PTW32_ARCHARM64) || defined (__PTW32_ARCHARM64)
78+
# if defined(__PTW32_CLEANUP_C)
79+
# define __PTW32_VERSIONINFO_NAME "pthreadVC@[email protected]\0"
80+
# define __PTW32_VERSIONINFO_DESCRIPTION "MS C ARM64\0"
81+
# elif defined(__PTW32_CLEANUP_CXX)
82+
# define __PTW32_VERSIONINFO_NAME "pthreadVCE@[email protected]\0"
83+
# define __PTW32_VERSIONINFO_DESCRIPTION "MS C++ ARM64\0"
84+
# elif defined(__PTW32_CLEANUP_SEH)
85+
# define __PTW32_VERSIONINFO_NAME "pthreadVSE@[email protected]\0"
86+
# define __PTW32_VERSIONINFO_DESCRIPTION "MS C SEH ARM64\0"
87+
# endif
7788
# endif
7889
#elif defined(__GNUC__)
7990
# if defined(_M_X64)

tests/CMakeLists.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,25 @@ macro(add_testcase test type def)
1515
set(lib_lib libpthread${type}${PTW32_VER})
1616
set(dll_lib pthread${type}${PTW32_VER})
1717

18-
set(extra "")
18+
set(c_dep "")
1919
if(${test} MATCHES "benchtest")
2020
set(c_dep "benchlib.c")
21-
elseif(${test} MATCHES "openmp1")
21+
endif()
22+
23+
set(extra "")
24+
if(${test} MATCHES "openmp1")
2225
if(MSVC)
2326
set(extra "/openmp -D_OPENMP")
2427
endif()
2528
endif()
2629

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

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

0 commit comments

Comments
 (0)