View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0015991 | CMake | CMake | public | 2016-02-26 15:26 | 2016-06-10 14:31 | ||||
Reporter | hokushin | ||||||||
Assigned To | Kitware Robot | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | closed | Resolution | moved | ||||||
Platform | Windows | OS | Windows 10 | OS Version | 10.0.10586.0 | ||||
Product Version | CMake 3.4.3 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0015991: Can't create Visual Studio 2015 project with CMake | ||||||||
Description | The C compiler identification is MSVC 19.0.23506.0 The CXX compiler identification is MSVC 19.0.23506.0 Check for working C compiler using: Visual Studio 14 2015 Check for working C compiler using: Visual Studio 14 2015 -- works Detecting C compiler ABI info Detecting C compiler ABI info - done Check for working CXX compiler using: Visual Studio 14 2015 Check for working CXX compiler using: Visual Studio 14 2015 -- works Detecting CXX compiler ABI info Detecting CXX compiler ABI info - done Detecting CXX compile features Detecting CXX compile features - done CMake Error at CMakeLists.txt:53 (message): Unknown processor:AMD64 Configuring incomplete, errors occurred! See also "C:/1/CMakeFiles/CMakeOutput.log". | ||||||||
Steps To Reproduce | 1. project https://github.com/devsisters/libquic [^] 2. CMakeLists cmake_minimum_required (VERSION 2.8.10) project (libquic) if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message(STATUS "Setting build type to 'Debug' as none was specified.") set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE) # Set the possible values of build type for cmake-gui #set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" # "MinSizeRel" "RelWithDebInfo") endif() set(COMMON_C_FLAGS "${COMMON_C_FLAGS} -Wall") set(COMMON_DEBUG_FLAGS "-gdwarf-4") set(COMMON_RELEASE_FLAGS "") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_C_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_C_FLAGS} -std=gnu++11") if (CMAKE_BUILD_TYPE STREQUAL Debug) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_DEBUG_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_DEBUG_FLAGS}") elseif (CMAKE_BUILD_TYPE STREQUAL Release) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_RELEASE_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_RELEASE_FLAGS}") endif() add_definitions(-DUSE_OPENSSL) if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64") set(ARCH "amd64") elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "amd64") set(ARCH "amd64") #elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "AMD64") # # cmake reports AMD64 on Windows, but we might be building for 32-bit. # if (CMAKE_CL_64) # set(ARCH "amd64") # else() # set(ARCH "386") # endif() elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86") set(ARCH "386") elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i386") set(ARCH "386") elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i686") set(ARCH "386") elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm") set(ARCH "arm") #elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") # set(ARCH "aarch64") else() message(FATAL_ERROR "Unknown processor:" ${CMAKE_SYSTEM_PROCESSOR}) endif() if (${ARCH} STREQUAL "386" AND APPLE) # With CMake 2.8.x, ${CMAKE_SYSTEM_PROCESSOR} evalutes to i386 on OS X, # but clang defaults to 64-bit builds on OS X unless otherwise told. # Set ARCH to x86_64 so clang and CMake agree. This is fixed in CMake 3. set(ARCH "amd64") endif() #add_subdirectory(crypto) include_directories(src src/third_party/modp_b64 boringssl/include src/third_party/protobuf/src) set( NET_SOURCES src/net/quic/quic_protocol.cc src/net/quic/quic_packet_generator.cc src/net/quic/quic_flow_controller.cc src/net/quic/quic_connection_stats.cc src/net/quic/quic_fec_group.cc src/net/quic/quic_fec_group_interface.cc src/net/quic/quic_data_writer.cc src/net/quic/quic_data_reader.cc src/net/quic/quic_session.cc src/net/quic/quic_spdy_session.cc src/net/quic/quic_spdy_stream.cc src/net/quic/iovector.cc src/net/quic/quic_stream_sequencer.cc src/net/quic/quic_framer.cc src/net/quic/quic_sent_packet_manager.cc src/net/quic/quic_time.cc src/net/quic/quic_headers_stream.cc src/net/quic/quic_connection.cc src/net/quic/quic_types.cc src/net/quic/quic_received_packet_manager.cc src/net/quic/quic_write_blocked_list.cc src/net/quic/quic_crypto_stream.cc src/net/quic/quic_socket_address_coder.cc src/net/quic/quic_utils.cc src/net/quic/quic_frame_list.cc src/net/quic/crypto/quic_crypto_server_config.cc src/net/quic/crypto/crypto_handshake_message.cc src/net/quic/crypto/p256_key_exchange_openssl.cc src/net/quic/crypto/cert_compressor.cc src/net/quic/crypto/crypto_secret_boxer.cc src/net/quic/crypto/aes_128_gcm_12_encrypter_openssl.cc src/net/quic/crypto/curve25519_key_exchange.cc src/net/quic/crypto/chacha20_poly1305_encrypter_openssl.cc src/net/quic/crypto/chacha20_poly1305_decrypter_openssl.cc src/net/quic/crypto/chacha20_poly1305_rfc7539_encrypter_openssl.cc src/net/quic/crypto/chacha20_poly1305_rfc7539_decrypter_openssl.cc src/net/quic/crypto/quic_decrypter.cc src/net/quic/crypto/channel_id_openssl.cc src/net/quic/crypto/null_decrypter.cc src/net/quic/crypto/crypto_server_config_protobuf.cc src/net/quic/crypto/aead_base_decrypter_openssl.cc src/net/quic/crypto/scoped_evp_aead_ctx.cc src/net/quic/crypto/quic_random.cc src/net/quic/crypto/common_cert_set.cc src/net/quic/crypto/null_encrypter.cc src/net/quic/crypto/crypto_framer.cc src/net/quic/crypto/crypto_handshake.cc src/net/quic/crypto/channel_id.cc src/net/quic/crypto/strike_register.cc src/net/quic/crypto/aead_base_encrypter_openssl.cc src/net/quic/crypto/crypto_utils.cc src/net/quic/crypto/local_strike_register_client.cc src/net/quic/crypto/aes_128_gcm_12_decrypter_openssl.cc src/net/quic/crypto/quic_encrypter.cc src/net/quic/crypto/quic_crypto_client_config.cc src/net/quic/quic_clock.cc src/net/quic/quic_alarm.cc src/net/quic/quic_sent_entropy_manager.cc src/net/quic/congestion_control/pacing_sender.cc src/net/quic/congestion_control/time_loss_algorithm.cc src/net/quic/congestion_control/loss_detection_interface.cc src/net/quic/congestion_control/general_loss_algorithm.cc src/net/quic/congestion_control/send_algorithm_interface.cc src/net/quic/congestion_control/cubic.cc src/net/quic/congestion_control/cubic_bytes.cc src/net/quic/congestion_control/tcp_loss_algorithm.cc src/net/quic/congestion_control/prr_sender.cc src/net/quic/congestion_control/tcp_cubic_sender.cc src/net/quic/congestion_control/hybrid_slow_start.cc src/net/quic/congestion_control/rtt_stats.cc src/net/quic/congestion_control/tcp_cubic_bytes_sender.cc src/net/quic/quic_config.cc src/net/quic/quic_crypto_server_stream.cc src/net/quic/quic_flags.cc src/net/quic/reliable_quic_stream.cc src/net/quic/quic_bandwidth.cc src/net/quic/quic_unacked_packet_map.cc src/net/quic/quic_packet_creator.cc src/net/quic/quic_sustained_bandwidth_recorder.cc src/net/quic/quic_client_session_base.cc src/net/quic/quic_crypto_client_stream.cc src/net/quic/quic_server_id.cc src/net/quic/quic_simple_buffer_allocator.cc src/net/quic/proto/cached_network_parameters.pb.cc src/net/quic/proto/source_address_token.pb.cc src/net/quic/stream_sequencer_buffer.cc src/net/base/int128.cc src/net/base/io_buffer.cc src/net/base/net_util.cc src/net/base/net_errors.cc src/net/base/ip_endpoint.cc src/net/base/host_port_pair.cc src/net/base/port_util.cc src/net/base/address_family.cc src/net/spdy/spdy_frame_reader.cc src/net/spdy/spdy_frame_builder.cc src/net/spdy/spdy_framer.cc src/net/spdy/spdy_header_block.cc src/net/spdy/spdy_protocol.cc src/net/spdy/spdy_alt_svc_wire_format.cc src/net/spdy/hpack/hpack_constants.cc src/net/spdy/hpack/hpack_decoder.cc src/net/spdy/hpack/hpack_encoder.cc src/net/spdy/hpack/hpack_entry.cc src/net/spdy/hpack/hpack_header_table.cc src/net/spdy/hpack/hpack_huffman_table.cc src/net/spdy/hpack/hpack_input_stream.cc src/net/spdy/hpack/hpack_output_stream.cc src/net/spdy/hpack/hpack_static_table.cc ) if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set( BASE_ARCH_LIBRARIES ) set( BASE_ARCH_SOURCES src/base/threading/platform_thread_linux.cc ) elseif (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") set( BASE_ARCH_LIBRARIES ) set( BASE_ARCH_SOURCES src/base/threading/platform_thread_freebsd.cc ) elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation) FIND_LIBRARY(COCOA_LIBRARY Cocoa) FIND_LIBRARY(SECURITY_LIBRARY Security) set( BASE_ARCH_LIBRARIES ${COREFOUNDATION_LIBRARY} ${COCOA_LIBRARY} ) set( BASE_ARCH_SOURCES src/base/threading/platform_thread_mac.mm src/base/strings/sys_string_conversions_mac.mm src/base/mac/foundation_util.mm src/base/mac/bundle_locations.mm src/base/mac/mach_logging.cc src/base/mac/scoped_mach_port.cc src/base/time/time_mac.cc ) endif() set( BASE_SOURCES ${BASE_ARCH_SOURCES} src/base/logging.cc src/base/posix/safe_strerror.cc src/base/memory/weak_ptr.cc src/base/memory/singleton.cc src/base/memory/ref_counted.cc src/base/memory/aligned_memory.cc src/base/rand_util_posix.cc src/base/threading/thread_id_name_manager.cc src/base/threading/platform_thread_posix.cc src/base/threading/platform_thread_internal_posix.cc src/base/threading/thread_restrictions.cc src/base/threading/thread_local_storage_posix.cc src/base/threading/thread_local_storage.cc src/base/threading/thread_collision_warner.cc src/base/threading/thread_local_posix.cc src/base/time/time_posix.cc src/base/time/time.cc src/base/synchronization/lock.cc src/base/synchronization/lock_impl_posix.cc src/base/synchronization/condition_variable_posix.cc src/base/strings/sys_string_conversions_posix.cc src/base/strings/string_piece.cc src/base/strings/string_util.cc src/base/strings/string_number_conversions.cc src/base/strings/string_util_constants.cc src/base/strings/stringprintf.cc src/base/strings/string_split.cc src/base/strings/string16.cc src/base/strings/utf_string_conversion_utils.cc src/base/strings/utf_string_conversions.cc src/base/pickle.cc src/base/debug/alias.cc src/base/debug/stack_trace.cc src/base/debug/debugger.cc src/base/callback_helpers.cc src/base/json/json_string_value_serializer.cc src/base/json/json_parser.cc src/base/json/string_escape.cc src/base/json/json_writer.cc src/base/json/json_reader.cc src/base/lazy_instance.cc src/base/callback_internal.cc src/base/base_switches.cc src/base/os_compat_nacl.cc src/base/values.cc src/base/at_exit.cc src/base/process/process_handle_posix.cc src/base/bind_helpers.cc src/base/vlog.cc src/base/location.cc src/base/base64.cc src/base/md5.cc src/base/metrics/statistics_recorder.cc src/base/metrics/histogram_base.cc src/base/metrics/sample_map.cc src/base/metrics/histogram.cc src/base/metrics/sample_vector.cc src/base/metrics/histogram_samples.cc src/base/metrics/bucket_ranges.cc src/base/metrics/sparse_histogram.cc src/base/metrics/metrics_hashes.cc src/base/rand_util.cc src/base/files/file_path_constants.cc src/base/files/file_path.cc src/base/third_party/nspr/prtime.cc src/base/third_party/dmg_fp/dtoa.cc src/base/third_party/dmg_fp/g_fmt.cc src/base/third_party/icu/icu_utf.cc src/base/command_line.cc src/base/third_party/superfasthash/superfasthash.c ) set( CRYPTO_SOURCES src/crypto/curve25519-donna.c src/crypto/curve25519_openssl.cc src/crypto/hkdf.cc src/crypto/hmac.cc src/crypto/openssl_util.cc src/crypto/hmac_openssl.cc src/crypto/symmetric_key_openssl.cc src/crypto/secure_hash_openssl.cc src/crypto/random.cc src/crypto/secure_util.cc ) set( URL_SOURCES src/url/url_constants.cc ) add_library( quic STATIC ${NET_SOURCES} ${BASE_SOURCES} ${CRYPTO_SOURCES} ${URL_SOURCES} src/stubs.cc src/third_party/modp_b64/modp_b64.cc src/third_party/zlib/gzwrite.c src/third_party/zlib/crc32.c src/third_party/zlib/zutil.c src/third_party/zlib/deflate.c src/third_party/zlib/simd_stub.c src/third_party/zlib/infback.c src/third_party/zlib/inffast.c src/third_party/zlib/inflate.c src/third_party/zlib/inftrees.c src/third_party/zlib/compress.c src/third_party/zlib/gzclose.c src/third_party/zlib/adler32.c src/third_party/zlib/gzlib.c src/third_party/zlib/trees.c src/third_party/zlib/gzread.c src/third_party/zlib/uncompr.c ) #add_executable( # test_quic_server # # custom/main.cc #) # XXX(serialx): Not sure if this is safe, since our CFLAGS contaminate boringssl build add_subdirectory(boringssl) add_subdirectory(protobuf) #target_link_libraries(test_quic_server quic ssl crypto -pthread ${BASE_ARCH_LIBRARIES}) | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | 1.png [^] (12,703 bytes) 2016-02-26 15:26
| ||||||||
Relationships | |
Relationships |
Notes | |
(0040564) Gregor Jasny (developer) 2016-02-27 14:57 |
That's a pretty fragile way of detecting the target CPU architecture and will break once you try to cross-compile for e.g. Android. Better use something like this:include(CheckSymbolExists) if(WIN32) check_symbol_exists("_M_AMD64" "" RTC_ARCH_X64) if(NOT RTC_ARCH_X64) check_symbol_exists("_M_IX86" "" RTC_ARCH_X86) endif(NOT RTC_ARCH_X64) # add check for arm here # see http://msdn.microsoft.com/en-us/library/b0084kay.aspx [^] else(WIN32) check_symbol_exists("__i386__" "" RTC_ARCH_X86) check_symbol_exists("__x86_64__" "" RTC_ARCH_X64) check_symbol_exists("__arm__" "" RTC_ARCH_ARM) endif(WIN32) |
(0040565) Gregor Jasny (developer) 2016-02-27 15:03 |
For better VS2015 support you could give 3.5.0-rc3 a try. But I don't think it will make a difference for this bug if the documentation here is correct: https://cmake.org/cmake/help/v3.5/variable/CMAKE_SYSTEM_PROCESSOR.html [^] https://cmake.org/cmake/help/v3.5/variable/CMAKE_HOST_SYSTEM_PROCESSOR.html [^] It looks like CMAKE_SYSTEM_PROCESSOR is populated by the PROCESSOR_ARCHITECTURE environment variable. |
(0042945) Kitware Robot (administrator) 2016-06-10 14:29 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2016-02-26 15:26 | hokushin | New Issue | |
2016-02-26 15:26 | hokushin | File Added: 1.png | |
2016-02-27 14:57 | Gregor Jasny | Note Added: 0040564 | |
2016-02-27 15:03 | Gregor Jasny | Note Added: 0040565 | |
2016-06-06 13:37 | Brad King | View Status | private => public |
2016-06-10 14:29 | Kitware Robot | Note Added: 0042945 | |
2016-06-10 14:29 | Kitware Robot | Status | new => resolved |
2016-06-10 14:29 | Kitware Robot | Resolution | open => moved |
2016-06-10 14:29 | Kitware Robot | Assigned To | => Kitware Robot |
2016-06-10 14:31 | Kitware Robot | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |