Skip to content

Commit

Permalink
Fix Windows binary artifact upload
Browse files Browse the repository at this point in the history
  • Loading branch information
Syndace committed Nov 9, 2022
1 parent 2309dcc commit 06a02c8
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 34 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ jobs:
- name: Rename the binaries
run: |
cd bin/
mv static/libxeddsa.lib libxeddsa-windows-amd64.lib
mv dynamic/libxeddsa.lib libxeddsa-windows-amd64.dll.lib
mv dynamic/libxeddsa.dll libxeddsa-windows-amd64.dll
mv xeddsa_static.lib libxeddsa-windows-amd64.lib
mv xeddsa.lib libxeddsa-windows-amd64.dll.lib
mv xeddsa.dll libxeddsa-windows-amd64.dll
- name: Upload the binaries
uses: actions/[email protected]
Expand Down
38 changes: 27 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,30 @@ include(CTest)

add_subdirectory(ref10)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/static)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/dynamic)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)

foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin/static)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin/dynamic)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin)
endforeach ()
if (WIN32)
# On Windows, don't even try to organize the outputs logically
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)

foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin)
endforeach ()
else (WIN32)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/static)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/dynamic)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)

foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin/static)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin/dynamic)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin)
endforeach ()
endif (WIN32)

if (WIN32)
# When using the MinGW generator on Windows, the generated files are prefixed with
Expand Down Expand Up @@ -79,7 +93,9 @@ target_compile_definitions(xeddsa_objects PRIVATE SODIUM_DLL_EXPORT)
target_compile_definitions(xeddsa_objects PRIVATE BUILD)

add_library(xeddsa_static STATIC $<TARGET_OBJECTS:xeddsa_objects>)
set_target_properties(xeddsa_static PROPERTIES OUTPUT_NAME xeddsa)
if (NOT WIN32)
set_target_properties(xeddsa_static PROPERTIES OUTPUT_NAME xeddsa)
endif ()
target_link_libraries(xeddsa_static PUBLIC
xeddsa_objects
crypto_sign_objects
Expand Down
74 changes: 54 additions & 20 deletions ref10/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,30 @@ if (NOT (UNIX OR WIN32))
message(FATAL_ERROR "Unsupported operating system (neither UNIX nor Windows). CMake will exit.")
endif ()

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/static)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/dynamic)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)

foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin/static)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin/dynamic)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin)
endforeach ()
if (WIN32)
# On Windows, don't even try to organize the outputs logically
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)

foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin)
endforeach ()
else (WIN32)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/static)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/dynamic)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)

foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin/static)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin/dynamic)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${PROJECT_SOURCE_DIR}/bin)
endforeach ()
endif (WIN32)

if (WIN32)
# When using the MinGW generator on Windows, the generated files are prefixed with
Expand Down Expand Up @@ -86,8 +100,10 @@ target_include_directories(crypto_core_objects PUBLIC crypto_core)

add_library(crypto_core_static STATIC $<TARGET_OBJECTS:crypto_core_objects>)
add_library(crypto_core_dynamic SHARED $<TARGET_OBJECTS:crypto_core_objects>)
set_target_properties(crypto_core_static PROPERTIES OUTPUT_NAME crypto_core)
set_target_properties(crypto_core_dynamic PROPERTIES OUTPUT_NAME crypto_core)
if (NOT WIN32)
set_target_properties(crypto_core_static PROPERTIES OUTPUT_NAME crypto_core)
endif ()

if (WIN32)
# Correct the import library.
Expand All @@ -111,8 +127,10 @@ target_include_directories(crypto_hash_objects PUBLIC crypto_hash)

add_library(crypto_hash_static STATIC $<TARGET_OBJECTS:crypto_hash_objects>)
add_library(crypto_hash_dynamic SHARED $<TARGET_OBJECTS:crypto_hash_objects>)
set_target_properties(crypto_hash_static PROPERTIES OUTPUT_NAME crypto_hash)
set_target_properties(crypto_hash_dynamic PROPERTIES OUTPUT_NAME crypto_hash)
if (NOT WIN32)
set_target_properties(crypto_hash_static PROPERTIES OUTPUT_NAME crypto_hash)
endif ()

if (WIN32)
# Correct the import library.
Expand All @@ -136,8 +154,10 @@ target_include_directories(crypto_hashblocks_objects PUBLIC crypto_hashblocks)

add_library(crypto_hashblocks_static STATIC $<TARGET_OBJECTS:crypto_hashblocks_objects>)
add_library(crypto_hashblocks_dynamic SHARED $<TARGET_OBJECTS:crypto_hashblocks_objects>)
set_target_properties(crypto_hashblocks_static PROPERTIES OUTPUT_NAME crypto_hashblocks)
set_target_properties(crypto_hashblocks_dynamic PROPERTIES OUTPUT_NAME crypto_hashblocks)
if (NOT WIN32)
set_target_properties(crypto_hashblocks_static PROPERTIES OUTPUT_NAME crypto_hashblocks)
endif ()

if (WIN32)
# Correct the import library.
Expand All @@ -161,8 +181,10 @@ target_include_directories(crypto_rng_objects PUBLIC crypto_rng)

add_library(crypto_rng_static STATIC $<TARGET_OBJECTS:crypto_rng_objects>)
add_library(crypto_rng_dynamic SHARED $<TARGET_OBJECTS:crypto_rng_objects>)
set_target_properties(crypto_rng_static PROPERTIES OUTPUT_NAME crypto_rng)
set_target_properties(crypto_rng_dynamic PROPERTIES OUTPUT_NAME crypto_rng)
if (NOT WIN32)
set_target_properties(crypto_rng_static PROPERTIES OUTPUT_NAME crypto_rng)
endif ()

if (WIN32)
# Correct the import library.
Expand Down Expand Up @@ -199,8 +221,10 @@ target_include_directories(crypto_scalarmult_objects PUBLIC crypto_scalarmult)

add_library(crypto_scalarmult_static STATIC $<TARGET_OBJECTS:crypto_scalarmult_objects>)
add_library(crypto_scalarmult_dynamic SHARED $<TARGET_OBJECTS:crypto_scalarmult_objects>)
set_target_properties(crypto_scalarmult_static PROPERTIES OUTPUT_NAME crypto_scalarmult)
set_target_properties(crypto_scalarmult_dynamic PROPERTIES OUTPUT_NAME crypto_scalarmult)
if (NOT WIN32)
set_target_properties(crypto_scalarmult_static PROPERTIES OUTPUT_NAME crypto_scalarmult)
endif ()

if (WIN32)
# Correct the import library.
Expand Down Expand Up @@ -262,8 +286,10 @@ target_include_directories(crypto_sign_objects PUBLIC crypto_sign)

add_library(crypto_sign_static STATIC $<TARGET_OBJECTS:crypto_sign_objects>)
add_library(crypto_sign_dynamic SHARED $<TARGET_OBJECTS:crypto_sign_objects>)
set_target_properties(crypto_sign_static PROPERTIES OUTPUT_NAME crypto_sign)
set_target_properties(crypto_sign_dynamic PROPERTIES OUTPUT_NAME crypto_sign)
if (NOT WIN32)
set_target_properties(crypto_sign_static PROPERTIES OUTPUT_NAME crypto_sign)
endif ()

if (WIN32)
# Correct the import library.
Expand All @@ -288,8 +314,10 @@ target_include_directories(crypto_stream_objects PUBLIC crypto_stream)

add_library(crypto_stream_static STATIC $<TARGET_OBJECTS:crypto_stream_objects>)
add_library(crypto_stream_dynamic SHARED $<TARGET_OBJECTS:crypto_stream_objects>)
set_target_properties(crypto_stream_static PROPERTIES OUTPUT_NAME crypto_stream)
set_target_properties(crypto_stream_dynamic PROPERTIES OUTPUT_NAME crypto_stream)
if (NOT WIN32)
set_target_properties(crypto_stream_static PROPERTIES OUTPUT_NAME crypto_stream)
endif ()

if (WIN32)
# Correct the import library.
Expand All @@ -313,8 +341,10 @@ target_include_directories(crypto_verify_objects PUBLIC crypto_verify)

add_library(crypto_verify_static STATIC $<TARGET_OBJECTS:crypto_verify_objects>)
add_library(crypto_verify_dynamic SHARED $<TARGET_OBJECTS:crypto_verify_objects>)
set_target_properties(crypto_verify_static PROPERTIES OUTPUT_NAME crypto_verify)
set_target_properties(crypto_verify_dynamic PROPERTIES OUTPUT_NAME crypto_verify)
if (NOT WIN32)
set_target_properties(crypto_verify_static PROPERTIES OUTPUT_NAME crypto_verify)
endif ()

if (WIN32)
# Correct the import library.
Expand All @@ -338,8 +368,10 @@ target_include_directories(fastrandombytes_objects PUBLIC fastrandombytes)

add_library(fastrandombytes_static STATIC $<TARGET_OBJECTS:fastrandombytes_objects>)
add_library(fastrandombytes_dynamic SHARED $<TARGET_OBJECTS:fastrandombytes_objects>)
set_target_properties(fastrandombytes_static PROPERTIES OUTPUT_NAME fastrandombytes)
set_target_properties(fastrandombytes_dynamic PROPERTIES OUTPUT_NAME fastrandombytes)
if (NOT WIN32)
set_target_properties(fastrandombytes_static PROPERTIES OUTPUT_NAME fastrandombytes)
endif ()

if (WIN32)
# Correct the import library.
Expand Down Expand Up @@ -414,8 +446,10 @@ target_include_directories(kernelrandombytes_objects PUBLIC kernelrandombytes)

add_library(kernelrandombytes_static STATIC $<TARGET_OBJECTS:kernelrandombytes_objects>)
add_library(kernelrandombytes_dynamic SHARED $<TARGET_OBJECTS:kernelrandombytes_objects>)
set_target_properties(kernelrandombytes_static PROPERTIES OUTPUT_NAME kernelrandombytes)
set_target_properties(kernelrandombytes_dynamic PROPERTIES OUTPUT_NAME kernelrandombytes)
if (NOT WIN32)
set_target_properties(kernelrandombytes_static PROPERTIES OUTPUT_NAME kernelrandombytes)
endif ()

if (WIN32)
# Correct the import library.
Expand Down

0 comments on commit 06a02c8

Please sign in to comment.